Schema Access
AdCP schemas are available from two sources:| Source | URL | Best For |
|---|---|---|
| Website | https://adcontextprotocol.org/schemas/3.0.19/ | Runtime fetching, version aliases |
| GitHub | https://github.com/adcontextprotocol/adcp/tree/main/dist/schemas | Offline access, CI/CD pipelines |
One-shot protocol bundle
Syncing hundreds of individual schema files adds up. Every AdCP release also publishes a single gzipped tarball containing the complete protocol — schemas, compliance storyboards, and the OpenAPI registry — so clients can pull one artifact instead of crawling the tree.| Path | Contents | Notes |
|---|---|---|
https://adcontextprotocol.org/protocol/latest.tgz | Current development bundle | Changes with every merge |
https://adcontextprotocol.org/protocol/{version}.tgz | Pinned release bundle | Immutable once published |
https://adcontextprotocol.org/protocol/{version}.tgz.sha256 | SHA-256 checksum | Use to verify download integrity |
https://adcontextprotocol.org/protocol/{version}.tgz.sig | Sigstore detached signature | Use to verify publisher identity. Present only when the release was cut via the release.yml workflow — absent for out-of-band republishes. |
https://adcontextprotocol.org/protocol/{version}.tgz.crt | Fulcio-issued signing certificate | Pairs with .sig for cosign verify-blob. Present only when the release was cut via the release.yml workflow — absent for out-of-band republishes. |
adcp-{version}/ directory (safe extraction, no tarbomb). Inside:
@adcp/client sync-schemas command uses this under the hood.
Available tarballs are also listed at /protocol/.
Verifying protocol bundle signatures
The SHA-256 sidecar lives on the same origin as the tarball, so it only protects against in-transit tampering. For supply-chain protection — proving the bundle came from the AdCP release workflow and was not swapped for a malicious one even if the host were compromised — every released{version}.tgz is also published with a Sigstore detached signature.
The signature is produced by the GitHub Actions release workflow using keyless OIDC: there is no long-lived AdCP signing key to leak. The certificate binds the signature to the workflow identity that issued it.
cosign verify-blob exits non-zero if the signature was made by anything other than the AdCP release workflow, even if the SHA matches and TLS is valid. Use this in any pipeline that ingests the protocol bundle as an enforcement source. The @adcp/client sync-schemas command performs this verification automatically when the sidecars are present.
Older releases that predate signing, and versions republished out of band (bypassing the signing workflow), remain checksum-only — clients should treat missing sidecars as a “checksum-only” trust level rather than a verification failure.
Compliance storyboards
Storyboards live alongside schemas at/compliance/{version}/. They define the test scenarios AAO runs to verify an agent’s capability claims.
| Path | Purpose |
|---|---|
/compliance/{version}/universal/ | Required for every agent (capability discovery, error handling, schema validation) |
/compliance/{version}/protocols/{protocol}/ | Baseline required to claim a protocol (media-buy, creative, signals, governance, brand, sponsored-intelligence) |
/compliance/{version}/specialisms/{id}/ | Optional specialization claims (e.g. sales-guaranteed, sales-broadcast-tv) |
/compliance/{version}/index.json | Enumerates available protocols, specialisms, and universal storyboards |
supported_protocols (for protocol baselines) and specialisms (for narrow capability claims) in get_adcp_capabilities — the compliance runner executes the matching bundles to verify. See the full Compliance Catalog for every protocol and specialism an agent can claim.
Common Schemas
| Schema | URL |
|---|---|
| Product | https://adcontextprotocol.org/schemas/3.0.19/core/product.json |
| Media Buy | https://adcontextprotocol.org/schemas/3.0.19/core/media-buy.json |
| Creative Format | https://adcontextprotocol.org/schemas/3.0.19/core/format.json |
| Schema Registry | https://adcontextprotocol.org/schemas/3.0.19/index.json |
For AI Coding Agents
Client SDKs
AdCP provides official SDKs for JavaScript/TypeScript, Python, and Go. These work for both client and server implementations.AdCP 3.0 support
All three official SDKs ship AdCP 3.0. Pin to (or above) the minimum listed below and validate with the storyboard test suite.
If you are on an earlier major version, upgrade before working through the 3.0 migration guide.
JavaScript / TypeScript
@adcp/client— Main API@adcp/client/testing— Buyer-side storyboard runner (runStoryboard,comply,testAgent) and seller-side controller scaffold (createComplyController— see Get Test-Ready)@adcp/client/server— Low-level server helpers (MCP tool registration, state stores,handleTestControllerRequest)@adcp/client/advanced— Advanced API features@adcp/client/types— TypeScript type definitions
Python
Go
| Component | Import |
|---|---|
| Tool registration | adcp.AddTool(server, name, desc, handler) |
| HTTP server | adcp.Serve(createAgent) |
| Response builders | adcp.ProductsResponse(data), adcp.MediaBuyResponse(data), etc. |
| Test controller | adcp.RegisterTestController(server, store) |
| Skills | github.com/adcontextprotocol/adcp-go/skills |
CLI Tools
The JavaScript and Python SDKs include command-line tools for testing and development.JavaScript CLI
Python CLI
Schema Versioning
AdCP uses semantic versioning. Choose the right path for your use case:| Path | Example | Best For |
|---|---|---|
| Exact version | /schemas/3.0.0/, /compliance/3.0.0/, /protocol/3.0.0.tgz | Production, SDK generation |
| Major version | /schemas/3.0.19/, /compliance/v3/ | Development, documentation |
| Minor version | /schemas/v3.0/, /compliance/v3.0/ | Stable development (patch updates only) |
/schemas, /compliance, and /protocol/{version}.tgz — one release cuts all three.
Production (Recommended)
Pin to an exact version for stability:Development
Use the major version alias to stay current with backward-compatible updates:SDK Type Generation
Bundled Schemas
For tools that don’t support$ref resolution, use bundled schemas with all references resolved inline. Bundled schemas are available from both the website and GitHub:
Website Access
GitHub Access
Bundled schemas are committed to the repository atdist/schemas/{VERSION}/bundled/:
Directory Structure
Bundled Schema Categories
All request/response task schemas are bundled:| Category | Tasks |
|---|---|
bundled/media-buy/ | get-products, create-media-buy, update-media-buy, list-creative-formats, sync-creatives, build-creative, list-creatives, get-media-buy-delivery, list-authorized-properties, provide-performance-feedback |
bundled/creative/ | list-creative-formats, preview-creative |
bundled/signals/ | get-signals, activate-signal |
bundled/property/ | create-property-list, get-property-list, list-property-lists, update-property-list, delete-property-list, validate-property-delivery |
bundled/content-standards/ | create-content-standards, get-content-standards, list-content-standards, update-content-standards, calibrate-content, validate-content-delivery, get-media-buy-artifacts |
bundled/sponsored-intelligence/ | si-get-offering, si-initiate-session, si-send-message, si-terminate-session |
bundled/protocol/ | get-adcp-capabilities |
bundled/core/ | tasks-get, tasks-list |
Version Discovery
Registry API
The AgenticAdvertising.org registry provides a public REST API for brand resolution, property resolution, agent discovery, and authorization validation. No authentication required.Registry API Reference
Resolve brands, discover agents, and validate authorization via REST.