In October 2025 two agents completed a media buy with no human passing messages between them. One represented a buyer, one represented a publisher. They agreed on inventory, price, and terms and booked it. The thing that let two systems built by different companies understand each other was AdCP.
AdCP (Ad Context Protocol) is the advertising vocabulary that sits on top of the general agent protocols from Track G. MCP and A2A let agents call tools and negotiate, but they know nothing about products, creatives, or CPMs. AdCP fills that gap. It is task-first: it defines named tasks, each with an agreed JSON shape, so any buyer agent and any sales agent interoperate without writing a custom adapter for every partner.
Key idea
Think of AdCP as a shared menu of advertising actions. "Show me your products." "Create this buy." "Sync this creative." Because the request and response shapes are agreed, the buyer agent does not need to know how the seller is built, only that it speaks AdCP.
Three modules
AdCP is organized into three protocol modules. Each is a related group of tasks. The rest of this track is one lesson per module, plus trust and discovery.
| Module | What it handles | Example task |
|---|---|---|
| Media Buy | Discovering inventory and running the buy end to end | get_products, create_media_buy |
| Creative | Formats, registering assets, and approval | list_creative_formats, sync_creatives |
| Signals Activation | Audiences and segments an agent can activate | discover and activate a signal |
Before any of that, an agent can ask a server what it is capable of, a step called capability discovery. It is how a buyer agent learns which modules and tasks a given sales agent supports, the same way an API client reads a schema before calling it.
Quick check
Why does a shared task vocabulary mean a buyer agent does not need a custom adapter for each publisher?
Note
AdCP is an open standard with founders across the sell side. Bidcliq maintains the Prebid.org reference implementation, the version other agents test against. That is why the protocol shows up across this course.