Publisher without an engineering team? Protocol compliance is one piece of going live — product management, activation into your ad server, and hosting are separate lifts. See Operating an Agent for the three paths: partner with a managed platform, self-host a prebuilt agent, or build your own.
Install the SDK
Each SDK handles protocol compliance — schema validation, error formats, version negotiation, and response builders — so you write business logic, not protocol plumbing.- JavaScript/TypeScript
- Python
- Go
Use the SDK for your language. All three SDKs — JS/TS, Python, and Go — handle schema validation, error formats, and protocol negotiation. You do not need to use a different language for protocol compliance.
Choose a skill
Each SDK ships skills that walk a coding agent through building a specific agent type. Common skills across SDKs:build-seller-agent— publisher, SSP, or media network selling inventorybuild-signals-agent— CDP or data provider serving audience segmentsbuild-creative-agent— ad server or CMP rendering creativesbuild-generative-seller-agent— AI ad network generating ads from briefsbuild-retail-media-agent— retail media network with catalog-driven creative
adcp-client/skills/build-seller-agent/SKILL.md. Skill coverage and naming vary per language since each SDK includes implementation guidance specific to its stack. Browse the directory for your language:
- JS/TS — adcp-client/skills
- Python — adcp-client-python/skills
- Go — adcp-go/skills
Which domain and specialisms do you claim?
Each agent declares itssupported_protocols (domains) and specialisms on get_adcp_capabilities. Each skill’s storyboard verifies the domain baseline — to also claim a specialism, your agent must pass that specialism’s storyboard. Skills-to-specialism mapping:
Picking a sales specialism: See Choosing a sales specialism in the Compliance Catalog for the full decision tree. Quick reference:
sales-guaranteed— IO approval, fixed pricing. Setmedia_buy.supports_proposals: trueif you support RFP/proposal flows;false(or omit) for direct-buy only.sales-non-guaranteed— auction / PMP.sales-broadcast-tv,sales-catalog-driven,sales-social— channel-specific; see the decision tree.
brand-rights under the brand domain.
See the Compliance Catalog for every domain and specialism with its storyboard and status (stable, preview, deprecated).
Storyboard passing earns the AAO Verified (Spec) qualifier — validated against seeded test data on a test-mode endpoint. Once your agent is running against real production inventory, consider enrolling in the (Live) qualifier, which adds continuous observability of real delivery on a dedicated compliance account. An agent can hold (Spec), (Live), or both; enterprise buyers that treat AdCP as production infrastructure filter on (Live).
Build the agent
Point your coding agent at the skill file for your agent type. In Claude Code:- JavaScript/TypeScript
- Python
- Go
- Business model decisions (what you sell, how you price, approval workflow)
- Tool registration with correct schemas
- Response shapes that pass storyboard validation
- Error handling and edge cases
Validate with storyboards
The storyboard runner requires Node.js, regardless of what language your agent is written in.
sandbox: true on all account references and should return simulated data without real platform calls. A passing run means your agent is protocol-compliant.
Additional resources
The JS/TS SDK includes documentation designed for both humans and coding agents:
Python and Go equivalents are in each SDK’s GitHub repository. See adcp-client-python and adcp-go.
What’s next
- Validate Your Agent — Storyboards, compliance checks, and the build-validate-fix loop
- Operating an Agent — What sits behind the protocol layer, and whether to partner, self-host, or build
- Choose your SDK — Schema access, CLI tools, and SDK package exports
- MCP integration guide — Transport, sessions, and auth details
- Task lifecycle — Status values, transitions, and polling
- Error handling — Error categories, codes, and recovery