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
| 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.
| Role | Required operations | Notes |
|---|---|---|
| Every conforming agent | 1 | get_adcp_capabilities, whatever role is claimed |
| Sales agent | 7 | |
| Governance agent | 14 | campaign, property and collection lists |
| Content standards agent | 4 | |
| Signal agent | 2 | |
| 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:
- Authenticate.
- Send the fields the request schemas require.
- Handle asynchronous replies and webhook delivery.
- Use
media_buy_idon every later call. - 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
-
si_get_offering
si_get_offering is the AdCP task for anonymous pre-session offering lookups. -
si_initiate_session
si_initiate_session is the AdCP task that starts a Sponsored Intelligence session. -
si_send_message
si_send_message is the AdCP task for exchanging messages in an active SI session. -
si_terminate_session
si_terminate_session is the AdCP task for ending an SI session.
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
-
comply_test_controller
Request payload for the comply_test_controller tool.
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.
Related
- AdCP compared with IAB Tech Lab's AAMP
- AAMP Explorer. Field reference for IAB Tech Lab's AAMP schemas.
- The AdCP schema registry. How schemas are indexed, referenced and resolved.
- Discovery files.
adagents.jsonandbrand.jsonare the two well-known files AdCP expects a domain to publish.