get_adcp_capabilities

Discovers the Sales Agent’s capabilities, supported protocols, authorized publisher domains, and available tools. This is typically the first tool a buying agent calls to understand what the Sales Agent can do.

Description

The get_adcp_capabilities tool returns a full snapshot of the Sales Agent’s current state and capabilities. It reports the agent’s identity, supported AdCP protocol versions, available tools and skills, geo targeting systems, and portfolio information. When called with authentication, it also returns publisher-specific data such as authorized domains and custom targeting taxonomies.

This tool is idempotent and safe to call repeatedly. Response times are typically under 1 second.

Parameters

Name Type Required Description Default
protocols list[str] No Filter capabilities to specific protocols (e.g., ["adcp"]). When omitted, all supported protocols are returned. None

Response

Returns a GetAdcpCapabilitiesResponse object containing the following key fields:

Field Type Description
agent_name str Display name of the Sales Agent instance
agent_version str Semantic version of the Sales Agent
adcp_versions list[str] Supported AdCP protocol versions
supported_tools list[ToolDescriptor] List of available tools with their names, descriptions, and parameter schemas
supported_skills list[str] High-level capabilities (e.g., product_discovery, media_buying)
authorized_domains list[str] Publisher domains this agent is authorized to sell inventory for (requires auth)
geo_targeting_systems list[str] Supported geographic targeting taxonomies (e.g., geonames, iso3166)
portfolio PortfolioInfo Summary of the publisher’s inventory portfolio
creative_formats list[str] Supported creative format categories

Error Codes

Error Code Description
internal_error Unexpected server error during capability resolution

This tool does not require authentication and does not produce authorization errors.

Example

from mcp import ClientSession

async with ClientSession(transport) as session:
    await session.initialize()

    # Discover all capabilities
    result = await session.call_tool("get_adcp_capabilities")
    print(result)

    # Filter to AdCP protocol only
    result = await session.call_tool(
        "get_adcp_capabilities",
        arguments={"protocols": ["adcp"]},
    )
    capabilities = result.content
    print(f"Agent: {capabilities['agent_name']}")
    print(f"AdCP versions: {capabilities['adcp_versions']}")
    print(f"Tools: {[t['name'] for t in capabilities['supported_tools']]}")

Example response:

{
  "agent_name": "Prebid Sales Agent",
  "agent_version": "1.0.0",
  "adcp_versions": ["1.0.0"],
  "supported_tools": [
    {
      "name": "get_products",
      "description": "AI-powered product search"
    }
  ],
  "supported_skills": ["product_discovery", "media_buying", "creative_management"],
  "authorized_domains": ["publisher.example.com"],
  "geo_targeting_systems": ["geonames", "iso3166"],
  "portfolio": {
    "total_products": 42,
    "channels": ["display", "video", "audio"]
  },
  "creative_formats": ["display", "video", "audio", "native"]
}

Protocol Specification

The get_adcp_capabilities tool implements the AdCP capability discovery flow. See the AdCP Specification for the full protocol definition of agent capability negotiation.