AdCP Signals
Adaptor.
Part of AdCP on No Fluff Advisory — the signals agent
Reference implementation for the AdCP Signals & Measurement working group.
Running this agent feeds work back upstream — see the protocol contributions (merged schema fields, conformance-suite fixes, open RFCs).
- Status Production · live demo
- License MIT — open source
- Spec AdCP 3.1 GA · graded on 3.1.20
- Runtime Cloudflare Workers
- Role Reference seller implementation
- Author Founding member · AdCP S&M WG
The fragmentation tax
finally has a settlement.
For two decades the ad-tech industry has lived with a fragmentation tax — OpenRTB for bidding, AdCOM for creative, GPP for privacy, OpenDirect for guaranteed buys. Each one a real standard. Each one its own island. Each one requiring custom bridges. As AI buyer agents enter the stack, the bridges become the bottleneck.
The Ad Context Protocol (AdCP) is the open standard designed to reduce that tax. Built on top of Anthropic's Model Context Protocol, it gives AI agents a single, secure way to discover and transact with advertising platforms — audience activation, curation, and media buy. One spec, many platforms.
The signals adaptor is the reference seller-side implementation of the protocol's data provider role. It serves AdCP spec 3.1 (additive over 3.0, so a 3.0 integration keeps working untouched), is graded on the current 3.1.20 compliance line, signs its outbound webhooks under RFC 9421, ships as MIT-licensed code, and runs as a live demo other adopters can probe.
One spec, many platforms.
The bridges were the bottleneck.
AdCP design thesis
A production worker.
The full provider surface.
A production Cloudflare Worker that implements the full AdCP signals provider surface — eleven MCP tools, every payload schema-validated against a vendored copy of the AdCP corpus, spec-version and signing-key smoke tests on every deploy, the official storyboard suite run before merges, and the AAO hosted grader every 12 hours.
- get_signals
Signal discovery
Discover signals across 14 verticals and 5 signal types — exposed to any AdCP-enabled buyer agent.
- activate_signal
Signal activation
Turn a discovered signal into bookable inventory inside the seller catalog.
- query_signals_nl
Natural-language query
Translate buyer intent into a structured signal lookup — no agent prompt-engineering required.
- get_similar_signals
Similar-signal expansion
Widen a signal to its nearest neighbours in the embedding space — more reach without a new brief.
- get_concept · search_concepts
Concept graph
The UCP concept layer under the signals — look a concept up or search it; the same vocabulary the NL query resolves into.
- get_operation_status · get_task_status · list_tasks
Async task tracking
Every submitted activation or async lookup is a task with a status — poll one, or list the operator's open tasks.
- comply_test_controller
Deterministic test controller
Sandbox-only forcing of async arms and task completion, so a conformance runner can grade the async paths on demand.
- /.well-known/adagents.json
Discovery endpoint
Publisher-discovery endpoint per AdCP convention — buyer agents find the provider by URL pattern.
- X-AdCP-Spec-Version
Spec versioning
Well-known responses carry the vendored corpus patch the build validates against (3.1.20, in lockstep with the storyboard line the hosted grader runs); the wire pin is 3.1.
Input. Process. Output.
A buyer-side agent issues an MCP request; the worker validates against the spec corpus, looks up signals, translates between MCP and AdCP, and ships a spec-compliant response back to the seller catalog.
Built for the edge.
Probe it yourself.
- MIT open source
GitHub repo
Source + history + issues. Pull requests welcome.
- Production
Live demo
Running adaptor — call it, inspect headers, probe the catalog.
- Endpoint
Discovery JSON
Publisher-discovery endpoint per AdCP convention.
- Essay
Related writing
"AdCP: The Open Standard for Agentic Advertising" — thesis behind the code.
- AgenticAdvertising.org
Standards working group
AdCP Signals & Measurement WG — co-lead.
A founding member's
contribution.
AdCP is a project of AgenticAdvertising.org, a neutral consortium advancing open standards for AI-powered advertising. Founding members include Optable, PubMatic, Scope3, Swivel, and Triton Digital, with a supporting roster of AccuWeather, Butler/Till, Classify, Raptive, The Weather Company, Newton Research, Bidcliq, and Samba TV.
I serve as a founding member and co-lead the Signals & Measurement working group (alongside Triton Digital's Spencer Morris). The signals adaptor is one of the reference seller implementations the working group uses to anchor protocol decisions.
The open question in front of the working group now is dimensional. Today’s signal types carry two dimensions of a moment — who and what. The where and the when have no native signal in the stack, and the embeddings that encode them (Google’s PDFM on the spatial axis; hour-of-week as the newer frontier) live in a different geometry from the text embeddings the current signals ride on. Similarity across two geometries is undefined until a spec defines it — which makes bridging them a standards question, not an integration. The Context Economy lays out the argument.
It's also registered on the public agent registry at agenticadvertising.org as a No Fluff Advisory signals provider.