Registry Access Documentation

Learn how to access the Registry via REST API or MCP

🔐 How to Generate Authentication Token

The Agent Registry API uses OAuth2 Bearer tokens issued by IAB Tech Lab Tools Portal.

Generate Token via OAuth API

POST your credentials to the authorization endpoint to obtain an authorization token.

Method: POST

URL: https://api.iabtechlab.com/oauth/authmobile

Content-Type: application/x-www-form-urlencoded

Form Parameters
Form Field Value Description
response_type token Must be "token"
username [your username] Your IAB Tech Lab account username
password [your password] Your IAB Tech Lab account password
redirect_uri oob Must be "oob" (out-of-band)
client_id tagapp Must be "tagapp"
type oauth Optional: "oauth"
Example Request
curl --location 'https://api.iabtechlab.com/oauth/authmobile' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'response_type=token' \ --data-urlencode 'username=user@example.com' \ --data-urlencode 'password=password' \ --data-urlencode 'redirect_uri=oob' \ --data-urlencode 'client_id=tagapp' \ --data-urlencode 'type=oauth'

Response:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

The response will be a raw access token. Save this token for use as the authorization bearer token.

📝 Note: Tokens expire after a set period. You can generate a new token anytime by repeating the OAuth flow.

Using the Token in API Requests

Include the token in the Authorization header:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

📋 Field Enumerations (Allowed Values)

The following fields accept only predefined values. Use these exact strings when making API requests.

protocol_type

The communication protocol supported by the agent.

Value Description
mcp Model Context Protocol
a2a Agent-to-Agent Protocol

iab_category

Primary category for MadTech MCP servers (single selection).

Value Description
identity Identity resolution, matching, and onboarding
cdp Customer Data Platforms
dmp Data Management Platforms
dsp Demand-Side Platforms
ssp Supply-Side Platforms
ad-server Ad serving platforms
measurement Attribution, MMM, incrementality
clean-room Privacy-safe data collaboration
data-provider Data enrichment and providers
consent Consent management platforms
email Email and marketing automation
personalization Content and experience personalization
analytics Web/app analytics
other Other madtech tools

pricing

Pricing model for the agent service.

Value Description
free Completely free to use
freemium Free tier available with paid upgrades
paid Requires payment, pricing publicly available
enterprise Enterprise pricing, typically custom quotes
contact Contact vendor for pricing information

status

Maturity status of the agent.

Value Description
alpha Early development, may have breaking changes
beta Feature complete but still in testing
ga Generally available, production ready
deprecated No longer actively maintained, will be removed

verification_status

Current verification status of the agent (read-only, set by system).

Value Description
pending Agent registered but verification incomplete
active All verifications passed (GPP, domain, endpoint) and agent is active
failed One or more verifications failed

📖 Retrieve Agent Data (GET)

GET Get All Agents

Retrieve a list of all registered agents with optional filtering.

Endpoint: GET /api/agents

Authentication: REQUIRED

Query Parameters (Optional)
Parameter Type Description Example
protocol_type string Filter by protocol mcp, a2a, both
verified boolean Show only verified agents true, false
search string Search by name or domain example
iab_category string Filter by IAB Tech Lab category ad_tech, analytics
limit integer Limit number of results 50
Example Request
curl -X GET "/agents?protocol_type=mcp&verified=true" \ -H "Authorization: Bearer {your_token}"
Example Response
{ "success": true, "data": { "agents": [ { "id": 1, "agent_name": "Example MCP Agent", "primary_domain": "example.com", "protocol_type": "mcp", "endpoint_url": "https://mcp.example.com", "verification_status": "active", "gpp_id": 123, "iab_category": "ad_tech" } ], "count": 1 } }

GET Get Agent by ID

Retrieve detailed information about a specific agent.

Endpoint: GET /api/agents/{id}

Authentication: REQUIRED

Example Request
curl -X GET "/agents/1" \ -H "Authorization: Bearer {your_token}"
Example Response
{ "success": true, "data": { "id": 1, "agent_name": "Example MCP Agent", "legal_name": "Example Company, Inc", "primary_domain": "example.com", "endpoint_url": "https://mcp.example.com", "protocol_type": "mcp", "gpp_id": 123, "verification_status": "active", "iab_category": "ad_tech", "discovered_tools": [ { "name": "get_campaign", "description": "Retrieve campaign details" } ] } }

✍️ Register New Agent (POST)

POST Register New Agent

Create a new agent registration. The system will automatically verify GPP ID, domain ownership, and endpoint health.

Endpoint: POST /api/agents

Authentication: REQUIRED

Content-Type: application/json

⚠️ Important: You must be authenticated with a valid Bearer token to register agents.
Required Fields
Field Type Description Example
agent_name Required string Display name for your agent My MCP Agent
primary_domain Required string Your company's domain example.com
endpoint_url Required string Agent endpoint URL https://mcp.example.com
Optional Fields
Field Type Description Default
protocol_type string Protocol: mcp, a2a, or both mcp
gpp_id integer Global Privacy Protocol ID (will be validated) 0
iab_category string Primary category (ad_tech, analytics, creative, etc.) -
pricing string Pricing model (free, freemium, paid, enterprise) -
status string Maturity status (alpha, beta, production, deprecated) -
description string Agent description (max 500 chars) -
image_url string Logo URL -
Example Request (Minimal)
curl -X POST "/agents" \ -H "Authorization: Bearer {your_token}" \ -H "Content-Type: application/json" \ -d '{ "agent_name": "My MCP Agent", "primary_domain": "example.com", "endpoint_url": "https://mcp.example.com" }'

Note: protocol_type defaults to "mcp" if not specified

Example Request (Complete)
curl -X POST "/agents" \ -H "Authorization: Bearer {your_token}" \ -H "Content-Type: application/json" \ -d '{ "agent_name": "My Company MCP Agent", "legal_name": "My Company, Inc", "primary_domain": "mycompany.com", "endpoint_url": "https://mcp.mycompany.com", "protocol_type": "mcp", "gpp_id": 123, "iab_category": "ad_tech", "pricing": "enterprise", "status": "production", "description": "Enterprise MCP agent for advertising technology", "image_url": "https://mycompany.com/logo.png" }'
Example Success Response
{ "success": true, "message": "Agent registered successfully", "data": { "id": 42, "agent_name": "My MCP Agent", "primary_domain": "example.com", "verification_status": "pending", "created_at": "2024-02-18T10:30:00.000Z" }, "verification": { "status": "pending", "gpp_verified": false, "domain_verified": false, "endpoint_health_verified": true, "verification_token": "iab-agent-verify-abc123def456", "instructions": { "domain": { "method": "dns_txt", "instructions": "Add this TXT record to your DNS..." } } } }
Example Error Response
{ "success": false, "error": "Missing required fields: endpoint_url, agent_name, primary_domain" }

🌐 Base URLs

Environment Base URL
Current Environment Loading...

Support

🤖 Agent Registry MCP Server

The IAB Tech Lab Agent Registry provides a Model Context Protocol (MCP) server that allows AI assistants to programmatically search, discover, and access information about registered agents.

📖 What is MCP?

The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs. Learn more at modelcontextprotocol.io.

MCP Server Details

Property Value
Server Name iab-agent-registry
Protocol MCP (Model Context Protocol)
Transport SSE (Server-Sent Events)
Endpoint URL Loading...
Authentication Bearer Token (OAuth2)

🔧 Available Tools

The Agent Registry MCP server provides the following tools for interacting with the registry:

🔍 search_agents

Search and filter registered agents by various criteria including protocol type, category, verification status, and more.

Input Parameters
Parameter Type Required Description
query string Optional Search term to match against agent name, domain, or description
protocol_type string Optional Filter by protocol: "mcp", "a2a", or "both"
iab_category string Optional Filter by IAB Tech Lab category (identity, cdp, dsp, ssp, etc.)
verified_only boolean Optional If true, only return IAB Tech Lab-verified agents
iab_member_only boolean Optional If true, only return agents from IAB Tech Lab members
limit number Optional Maximum number of results to return (default: 50)
Example Usage
{ "name": "search_agents", "arguments": { "query": "advertising", "protocol_type": "mcp", "verified_only": true, "limit": 10 } }
Example Response
{ "agents": [ { "id": 1, "agent_name": "AdTech MCP Server", "domain": "adtech.example.com", "protocol_type": "mcp", "endpoint_url": "https://mcp.adtech.example.com/sse", "verification_status": "active", "iab_category": "dsp", "description": "MCP server for programmatic advertising", "discovered_tools": [...], "is_iab_member": true } ], "count": 1, "filters_applied": { "query": "advertising", "protocol_type": "mcp", "verified_only": true } }

📋 get_agent_details

Retrieve complete details for a specific agent by ID or domain name.

Input Parameters
Parameter Type Required Description
agent_id number Required* Numeric ID of the agent
domain string Required* Domain name of the agent (alternative to agent_id)

*Either agent_id or domain must be provided

Example Usage (by ID)
{ "name": "get_agent_details", "arguments": { "agent_id": 1 } }
Example Usage (by Domain)
{ "name": "get_agent_details", "arguments": { "domain": "adtech.example.com" } }
Example Response
{ "id": 1, "agent_name": "AdTech MCP Server", "legal_name": "AdTech Solutions Inc.", "domain": "adtech.example.com", "protocol_type": "mcp", "mcp_endpoint_url": "https://mcp.adtech.example.com/sse", "gpp_id": 123, "verification_status": "active", "iab_category": "dsp", "iab_subcategories": ["programmatic", "rtb"], "description": "Enterprise MCP server for programmatic advertising", "discovered_tools": [ { "name": "create_campaign", "description": "Create a new advertising campaign", "inputSchema": {...} } ], "endorsements": [...], "is_iab_member": true, "pricing_model": "enterprise", "maturity_status": "ga", "authentication_required": true, "created_at": "2024-01-15T10:00:00.000Z", "updated_at": "2024-02-18T14:30:00.000Z" }

📂 list_categories

Get a list of all available IAB Tech Lab categories and their agent counts.

Input Parameters

This tool takes no parameters.

Example Usage
{ "name": "list_categories" }
Example Response
{ "categories": [ { "id": "identity", "name": "Identity Resolution", "description": "Identity resolution, matching, and onboarding", "agent_count": 12 }, { "id": "dsp", "name": "Demand-Side Platform", "description": "Demand-Side Platforms", "agent_count": 8 }, { "id": "cdp", "name": "Customer Data Platform", "description": "Customer Data Platforms", "agent_count": 15 } ], "total_categories": 14 }

⚙️ Setup Instructions

Follow these steps to connect to the Agent Registry MCP server from your AI assistant:

Step 1: Obtain Authentication Token

First, generate an OAuth2 bearer token using the IAB Tech Lab authentication API (see REST API tab for details).

curl --location 'https://api.iabtechlab.com/oauth/authmobile' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'response_type=token' \ --data-urlencode 'username=your-email@example.com' \ --data-urlencode 'password=your-password' \ --data-urlencode 'redirect_uri=oob' \ --data-urlencode 'client_id=tagapp'

Step 2: Configure MCP Client

Add the Agent Registry MCP server to your MCP client configuration. For Claude Desktop, add to your claude_desktop_config.json:

{ "mcpServers": { "iab-agent-registry": { "url": "Loading...", "transport": "sse", "headers": { "Authorization": "Bearer YOUR_TOKEN_HERE" } } } }

Step 3: Verify Connection

Restart your MCP client and verify the connection is established. You should see the Agent Registry tools available in your assistant.

💡 Tip: Store your authentication token securely. Tokens expire after a set period and will need to be refreshed.

💡 Example Use Cases

Here are some common scenarios where the Agent Registry MCP server can help:

Discovery & Search

  • "Find all verified MCP servers in the identity resolution category"
  • "Show me DSP agents that are IAB Tech Lab members"
  • "Search for advertising measurement tools"

Integration Planning

  • "What MCP tools does the AdTech platform provide?"
  • "Get details about agent example.com including authentication requirements"
  • "List all available CDP platforms and their capabilities"

Ecosystem Analysis

  • "How many verified agents are in each category?"
  • "Show me all beta-stage MCP servers"
  • "Find free or freemium advertising technology tools"