AdCP Explorer

Ad Context Protocol (AdCP)

The Ad Context Protocol (AdCP) is an open standard for buying and selling advertising between software agents. Release 3.1.13 defines 64 operations: 62 called over MCP or A2A, 2 over a serve-time HTTP profile.

Release 3.1.13 registers 64 operations across 10 area groups, under 63 distinct names. One of them is required of every conforming agent: get_adcp_capabilities. Every other operation is conditional on the role an agent claims, so no agent implements all 64.

The 64 operations by area

AdCP 3.1.13 — operations per area
Area Operations What it covers
Media Buy 11 Media buy task request/response schemas
Creative 8 Creative protocol task request/response schemas and asset type definitions
Signals 2 Signals protocol task request/response schemas
Protocol 3 Protocol-level tasks that work across all AdCP domain protocols
Accounts 5 Account management task request/response schemas
Brand Protocol 6 Brand protocol for identity retrieval, rights discovery, acquisition, and lifecycle management
Governance 22 Governance protocol for property governance, brand standards, content standards, and compliance
Sponsored Intelligence 4 Sponsored Intelligence Protocol for conversational brand experiences in AI assistants
Trusted Match 2 Trusted Match Protocol (TMP) — real-time execution layer for activating pre-negotiated packages across any surface.
Compliance 1 Compliance testing tool schemas.

list_creative_formats is registered twice, once under media buy and once under creative, with a different request schema each time. Both variants are set out on the schema registry page.

Governance is the largest area at 22 operations, most of it create, read, update and delete over property lists, collections and the content standards those properties are judged against. 30 of the 64 write state; the rest are reads. 13 are marked experimental, including both serve-time operations. An experimental operation may change surface between 3.x releases on at least six weeks' notice, and a seller that implements one declares its feature id in experimental_features on get_adcp_capabilities.

What a buyer implements and what a seller implements

Conformance is scoped by role, not by the 64-operation total. Every conforming agent implements get_adcp_capabilities. The Required rows on the specification's requirements page add the following on top of it.

AdCP 3.1.13 — Required operations per role
Role Required operations Notes
Every conforming agent 1 get_adcp_capabilities, whatever role is claimed
Sales agent7
Governance agent 14 campaign, property and collection lists
Content standards agent4
Signal agent2
Brand agent 1 3 more for a brand agent that also runs Sponsored Intelligence
Creative agent 1 list_creative_formats; every other row in the creative table is Conditional or Optional
Buy-side orchestrator 0 not an MCP or A2A server; it calls a sales agent's operations

Orchestrator conformance is five numbered rules on the same page:

  1. Authenticate.
  2. Send the fields the request schemas require.
  3. Handle asynchronous replies and webhook delivery.
  4. Use media_buy_id on every later call.
  5. Respect creative_deadline.

Every operation by name

Media Buy

  • create_media_buy
    create_media_buy task — create advertising campaigns in AdCP from discovered products.
  • get_media_buy_delivery
    get_media_buy_delivery task — retrieve impressions, spend, pacing, and dimensional breakdowns for active AdCP campaigns.
  • get_media_buys
    get_media_buys task — retrieve media buy status in AdCP including creative approvals, missing assets, configuration, and optional near-real-time delivery snapshots.
  • get_products
    get_products task — discover advertising inventory in AdCP using natural language campaign briefs or structured filters.
  • list_creative_formats
    Request parameters for discovering supported creative formats
  • log_event
    log_event task — send conversion and marketing events to AdCP sellers in batches.
  • provide_performance_feedback
    provide_performance_feedback task — share normalized performance scores with AdCP publishers so sellers can optimize delivery based on buyer-observed outcomes.
  • sync_audiences
    sync_audiences task — upload hashed first-party CRM audiences to AdCP seller accounts for retargeting, suppression, and lookalike expansion.
  • sync_catalogs
    sync_catalogs task — sync product feeds, store locations, and vertical catalogs (hotel, flight, vehicle, real estate) to AdCP seller accounts for catalog-driven campaigns.
  • sync_event_sources
    sync_event_sources task — configure website pixels, mobile SDKs, server-to-server integrations, and seller- or platform-native event sources on AdCP seller accounts for conversion tracking and attribution.
  • update_media_buy
    update_media_buy task — modify active AdCP campaigns with PATCH semantics.

Creative

  • build_creative
    build_creative generates, transforms, or retrieves ad creative manifests in AdCP from a natural language brief to production-ready assets.
  • get_creative_delivery
    get_creative_delivery retrieves variant-level delivery data with manifests and performance metrics for generative and static creatives in AdCP.
  • list_creative_formats
    Request parameters for discovering creative formats provided by this creative agent
  • list_creatives
    list_creatives browses and filters creatives in an AdCP library by asset type, format, status, concept, and tags with cursor-based pagination.
  • list_transformers
    list_transformers discovers account-scoped creative transformers — the agent-offered, selectable units of build capability (voices, models, styles) used by build_creative.
  • preview_creative
    preview_creative renders an existing creative manifest into viewable output in AdCP, in single or batch mode, returning URL, image, or HTML output.
  • sync_creatives
    sync_creatives uploads and manages creative assets in an AdCP library with bulk uploads, upsert semantics, and generative creative support.
  • validate_input
    Request payload for the validate_input task.

Signals

  • activate_signal
    activate_signal is the AdCP task for pushing audience segments to DSPs and sales agents.
  • get_signals
    get_signals is the AdCP task for discovering audience and contextual signals.

Protocol

  • get_adcp_capabilities
    get_adcp_capabilities is the first call a buyer makes to discover an AdCP seller's supported protocols, auth model, version, and feature capabilities.
  • get_task_status
    Request parameters for the get_task_status AdCP tool.
  • list_tasks
    Request parameters for the list_tasks AdCP tool.

Accounts

  • get_account_financials
    get_account_financials returns spend summaries, credit balances, payment status, and invoice history for operator-billed AdCP accounts.
  • list_accounts
    list_accounts returns all advertiser accounts an authenticated agent can operate on an AdCP vendor agent.
  • report_usage
    report_usage sends consumption data to AdCP vendor agents after campaign delivery — impressions served, signals queried, governance checks run — so vendors can track revenue and verify billing.
  • sync_accounts
    sync_accounts provisions buyer-declared accounts or updates settings on existing accounts with an AdCP seller agent.
  • sync_governance
    sync_governance syncs governance agent endpoints to specific accounts.

Brand Protocol

  • acquire_rights
    acquire_rights is the AdCP task for binding rights acquisition.
  • get_brand_identity
    get_brand_identity is the AdCP task for retrieving brand data from a brand agent.
  • get_rights
    get_rights is the AdCP task for discovering licensable talent, music, and stock media.
  • update_rights
    update_rights is the AdCP task for modifying active rights grants.
  • verify_brand_claim
    verify_brand_claim is the unified AdCP brand-protocol task for asking a brand-agent whether a specific claim about its identity is owned, pending, disputed, or licensed.
  • verify_brand_claims
    verify_brand_claims is the bulk variant of verify_brand_claim — verify many claims against one brand-agent in a single round-trip.

Governance

  • calibrate_content
    calibrate_content aligns buyers and sellers on brand suitability standards through structured dialogue before AdCP campaign execution begins.
  • check_governance
    check_governance is the universal validation gate in AdCP — orchestrators and sellers call it before executing any campaign action.
  • create_collection_list
    Collection list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists for content programs, combining explicit program references with dynamic genre and content rating filters.
  • create_content_standards
    create_content_standards defines a brand suitability configuration with content policies, risk thresholds, and category rules for AdCP campaigns.
  • create_property_list
    Property list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists combining static sets with dynamic filters.
  • delete_collection_list
    Collection list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists for content programs, combining explicit program references with dynamic genre and content rating filters.
  • delete_property_list
    Property list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists combining static sets with dynamic filters.
  • get_collection_list
    Collection list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists for content programs, combining explicit program references with dynamic genre and content rating filters.
  • get_content_standards
    get_content_standards retrieves the full content safety policy configuration for a specific standards ID in AdCP.
  • get_creative_features
    get_creative_features evaluates a creative manifest against a governance agent and returns feature values for brand safety and compliance in AdCP.
  • get_media_buy_artifacts
    get_media_buy_artifacts retrieves content context records from a media buy for post-delivery brand suitability validation in AdCP.
  • get_plan_audit_logs
    get_plan_audit_logs retrieves governance state, budget tracking, and a complete audit trail for AdCP campaign plans or portfolios.
  • get_property_list
    Property list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists combining static sets with dynamic filters.
  • list_collection_lists
    Collection list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists for content programs, combining explicit program references with dynamic genre and content rating filters.
  • list_content_standards
    list_content_standards returns available content safety configurations with optional filtering and pagination in AdCP.
  • list_property_lists
    Property list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists combining static sets with dynamic filters.
  • report_plan_outcome
    report_plan_outcome sends action results to the AdCP governance agent so it can update budget tracking, state, and compliance records.
  • sync_plans
    sync_plans pushes campaign plans with budget limits, channels, flight dates, and compliance policies to an AdCP governance agent.
  • update_collection_list
    Collection list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists for content programs, combining explicit program references with dynamic genre and content rating filters.
  • update_content_standards
    update_content_standards modifies an existing content standards configuration in AdCP, creating a new version for audit purposes.
  • update_property_list
    Property list tasks in AdCP create, update, get, list, and delete inclusion and exclusion lists combining static sets with dynamic filters.
  • validate_content_delivery
    validate_content_delivery batch-evaluates delivery records against content safety policies asynchronously in AdCP.

Sponsored Intelligence

Trusted Match

  • context_match
    Sent by publisher to router or provider to evaluate packages against contextual signals.
  • identity_match
    Sent by publisher to evaluate user eligibility for packages using an opaque identity token.

Compliance

enums/task-type.json lists two names, search_brands and media_buy_delivery, that are not registered as operations in 3.1.13. In the other direction, property/validate-property-delivery-request.json ships inside 3.1.13 with no group claiming it. The enum file is documentation, maintained alongside the schemas rather than derived from them; the authoritative operation list is the set of task maps in the release's index.json and the request and response schemas they name.

Release 3.1.13

3.1.13 (published stable), last updated 2026-08-11. Releases ship as complete schema trees under dist/schemas/<version>/.

1 operation is registered ahead of release, with request and response schemas in no published release: sync_agent_notification_configs . It is not in the 3.1.13 counts. The 3.1.13 documentation bundle ships a task page for it under dist/docs/3.1.13/protocol/, linking request and response schemas at /schemas/3.1.13/protocol/ that the 3.1.13 schema tree does not contain, so those links resolve to nothing.

Protocol layers

A layer is a grouping of schema groups declared in protocol_layers in the release's index.json. Layer membership is not an input to conformance: Required and Conditional rows are keyed by role.

Negotiation layer
Planning-time protocols for discovery, buying, creative, signals, accounts, governance, brand identity, and sponsored intelligence. Areas: media-buy , creative , signals , account , governance , sponsored-intelligence
Decisioning and serving layer
Trusted Match Protocol schemas for serve-time Context Match and Identity Match decisions. Areas: trusted-match

The layer list does not cover the registry. It names brand, a schema group that holds no operations, and omits protocol, brand-protocol and compliance, which hold 10 operations between them. get_adcp_capabilities is registered under protocol, which the layer list does not name.

The serve-time layer is 2 operations, context_match and identity_match. Their request schemas are the most tightly constrained in the registry; the MUST NOT rules and the correlation gap between them are set out on the trusted match area page.

The shared response envelope

Response schemas compose core/protocol-envelope.json, so 13 of the rows in an operation's response table are shared with every other operation: status, task_id, context, push_notification_config and the rest. The envelope also carries asynchrony: status can come back submitted, working or input-required on any call, and seven operations ship a dedicated async-arm schema for that case — get_products, create_media_buy, update_media_buy, build_creative, get_signals, sync_creatives and sync_catalogs. Everywhere else the unfinished case is handled against the generic envelope. The schema registry page covers the envelope files themselves.

Frequently asked

What version of AdCP is current?
3.1.13, last updated 2026-08-11.
How many operations does AdCP define?
64 in release 3.1.13, spread over 10 areas and 63 distinct names, because one name is registered twice. 30 write state and 13 are marked experimental.
Is AdCP the same as MCP?
No. MCP is a transport, a way for a client to call tools on a server. AdCP is a domain vocabulary that says which advertising operations exist and what their payloads contain: 62 of its 64 operations run over MCP or A2A, and the 2 serve-time operations use a direct HTTP profile instead. An agent declares its transport in get_adcp_capabilities and the declaration applies to every operation it serves. A sales agent MUST support at least one of MCP or A2A, and a call that works over one works the same over the other.
Who governs AdCP?
AgenticAdvertising.org, a pending 501(c)(6) trade association incorporated in Delaware, with four equally weighted voting classes: brands, agencies, publishers and technology providers. The specification is Apache 2.0 and developed in public on GitHub. The reference sell-side implementation is maintained by Prebid.