Registry Access Documentation

Learn how to access the Registry via REST API or MCP

🔐 How to Generate Authentication Token

The Agent & MCP Server 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

category

Primary category for IAB Tech Lab agents (single selection). 20 categories available.

Value Description
ad-exchange Ad exchanges and marketplaces
ad-server Ad serving platforms
advertiser Advertisers and brands
agency Advertising agencies and consultancies
analytics Web/app analytics
cdp Customer Data Platforms
clean-room Privacy-safe data collaboration
consent Consent management platforms
creative-management Creative management platforms
data-provider Data enrichment and providers
dmp Data Management Platforms
dsp Demand-Side Platforms
email Email and marketing automation
identity Identity resolution, matching, and onboarding
measurement Attribution, MMM, incrementality
order-management Order management systems
personalization Content and experience personalization
publisher Publishers and media companies
ssp Supply-Side Platforms
other Other IAB Tech Lab tools

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 & TCF, 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
search string Search by name or domain example
q string Alternative to search parameter example
category string Filter by IAB Tech Lab category dsp, analytics, identity
status string Filter by maturity status alpha, beta, ga, deprecated
capability_search string Search by tool/skill name (aliases: tool, skill) campaign_manager
limit integer Limit number of results 50
Example Request
curl -X GET "/agents?protocol_type=mcp&category=dsp&status=ga" \ -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, "category": "dsp" } ], "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", "category": "dsp", "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 & TCF 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.
📋 Deployment Types:
  • Remote agents (type: "remote"): Require endpoint_url
  • Local agents (type: "local"): Require repository_url, endpoint_url should be null
  • Private agents (type: "private"): Require endpoint_url
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 Conditional string Agent endpoint URL (required for remote/private agents, null for local agents) https://mcp.example.com
repository_url Conditional string Repository URL (required for local agents) https://github.com/example/agent
Optional Fields
Field Type Description Default
type string Deployment type: remote (internet-accessible), local (downloadable), or private (customer network) remote
protocol_type string Protocol: mcp, a2a, or both mcp
gpp_id integer Global Privacy Protocol ID (will be validated) 0
category string Primary category (dsp, analytics, identity, etc. - 20 categories available) -
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, "category": "dsp", "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 & MCP Server Registry MCP Server

The IAB Tech Lab Agent & MCP Server 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) Learn More | Generate New Token

🔧 Available Tools

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

📋 list_agents

List all registered agents with optional filtering. This is the internal format with additional filter options. For simplified public API, use search_agents instead.

Input Parameters
Parameter Type Required Description
protocol_type string Optional Filter by protocol: "a2a", "mcp"
type string Optional Filter by deployment type: "remote", "local", "private"
category string Optional Filter by IAB Tech Lab category (identity, cdp, dmp, dsp, ssp, ad-server, measurement, clean-room, data-provider, consent, email, personalization, analytics, other)
status string Optional Filter by maturity status: "alpha", "beta", "ga", "deprecated"
capability string Optional Filter agents that have a specific IAB Tech Lab MCP capability
endorsement_issuer string Optional Filter agents with an endorsement from a specific issuer (iab, iab-tech-lab, mrc, tag, soc2, iso, gdpr, ccpa, other)
search string Optional Search agents by name, domain, or description
limit number Optional Maximum number of agents to return (default: 50)
Example Usage
{ "name": "list_agents", "arguments": { "category": "ssp", "protocol_type": "mcp", "limit": 10 } }
Example Response
{ "agents": [ { "id": 1, "agent_name": "Equativ MCP SSE", "primary_domain": "equativ.com", "protocol_type": "mcp", "endpoint_url": "https://mcp.equativ.com/sse", "verification_status": "active", "category": "ssp", "description": "MCP server for supply-side platform", "iab_member": true } ], "count": 1 }

🔍 search_agents

Search and filter registered agents by various criteria. This is a simplified, documentation-aligned version of list_agents.

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"
category string Optional Filter by IAB Tech Lab category (identity, cdp, dsp, ssp, ad-server, measurement, clean-room, data-provider, consent, email, personalization, analytics, other)
limit number Optional Maximum number of results to return (default: 50)
Example Usage
{ "name": "search_agents", "arguments": { "query": "advertising", "protocol_type": "mcp", "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", "category": "dsp", "description": "MCP server for programmatic advertising", "discovered_tools": [...], "is_iab_member": true } ], "count": 1, "filters_applied": { "query": "advertising", "protocol_type": "mcp" } }

📋 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", "category": "dsp", // "iab_subcategories": ["programmatic", "rtb"], // DEPRECATED "description": "Enterprise MCP server for programmatic advertising", "discovered_tools": [ { "name": "create_campaign", "description": "Create a new advertising campaign", "inputSchema": {...} } ], "endorsements": [...], "is_iab_member": true, "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": "ad-exchange", "name": "Ad Exchange", "description": "Ad exchanges and marketplaces", "agent_count": 5 }, { "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 }, { "id": "publisher", "name": "Publisher", "description": "Publishers and media companies", "agent_count": 7 } ], "total_categories": 20 }

⚙️ Setup Instructions

Follow these steps to connect to the Agent & MCP Server 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 & MCP Server 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"