AdCP Quickstart Guide
Get started with AdCP in 5 minutes. This guide shows you how to test AdCP, understand authentication, and make your first requests.Try AdCP Right Now
Interactive Testing Platform
The fastest way to explore AdCP is through our interactive testing platform: 🔗 https://testing.adcontextprotocol.org This platform lets you:- Test all AdCP tasks interactively
- See real request/response examples
- Validate your understanding of the protocol
- Try different scenarios without writing code
Test Agent for Development
For developers building AdCP integrations, we provide a public test agent with free credentials: Agent URL:https://test-agent.adcontextprotocol.org
Agent Card: https://test-agent.adcontextprotocol.org/.well-known/agent-card.json
Free Test Credentials:
For MCP Protocol:
- ✅ Test all AdCP tasks with authentication
- ✅ See complete product catalogs with pricing
- ✅ Create test media buys (with dry run mode)
- ✅ Upload and sync test creatives
- ✅ Practice integration patterns
Understanding Authentication
AdCP uses a tiered authentication model - some operations work without credentials, while others require authentication.Operations That DON’T Require Authentication
These capability discovery operations work without credentials:- ✅
list_creative_formats- Browse available creative formats - ✅
list_authorized_properties- See which properties an agent represents - ✅
get_products- Discover inventory (limited results without auth)
get_products requests may return:
- Limited product catalog
- No pricing information
- Generic products only
- No custom offerings
Operations That REQUIRE Authentication
These operations require valid credentials:- 🔒
get_products(full results) - See complete catalog with pricing - 🔒
create_media_buy- Create advertising campaigns - 🔒
update_media_buy- Modify existing campaigns - 🔒
sync_creatives- Upload creative assets - 🔒
list_creatives- View your creative library - 🔒
get_media_buy_delivery- Monitor campaign performance - 🔒
provide_performance_feedback- Submit optimization signals
Getting Credentials
To access authenticated operations, you need to establish an account with each sales agent you want to work with.How to Get Access
1. Contact the Sales Agent Each AdCP sales agent manages their own accounts and credentials. Find their contact information via:- The agent’s website (discovered via
adagents.json) - Direct outreach to the publisher
- Through aggregation platforms (like Scope3)
- API Keys: Simple header-based authentication (
X-API-Key: <key>) - JWT Tokens: OAuth-based authentication (
Authorization: Bearer <token>)
adagents.json file for details.
Working with Multiple Agents
Important: You need separate credentials for each sales agent.Your First Request
Let’s make a test request using the public test agent with authentication.Step 1: Test with Authentication
Use the test agent credentials provided above to make an authenticated request: Using MCP (JSON-RPC 2.0):Step 2: Interpret the Response
The response includes:message: Human-readable summary of resultsproducts: Array of available inventory products with pricing informationcontext_id: Session identifier for follow-up requests
- ✅ Complete product catalog
- ✅ Pricing information (CPM, min_spend)
- ✅ Custom product offerings
- ✅ Measurement capabilities
Step 3: Try Without Authentication
Compare by making the same request without the Authorization header:Testing with Dry Run Mode
AdCP supports comprehensive testing without spending real money or affecting production systems.Enable Dry Run Mode
Add theX-Dry-Run header to any request:
- ✅ Validates your request structure
- ✅ Returns realistic simulated responses
- ✅ Tests error scenarios
- ❌ Does NOT create real campaigns
- ❌ Does NOT spend actual money
- ❌ Does NOT affect production systems
Protocol Choice: MCP vs A2A
AdCP tasks work identically across protocols - choose based on your technical needs:Use MCP if:
- You’re integrating with Claude or MCP-compatible AI assistants
- You prefer direct tool-calling patterns
- Your client already supports MCP
Use A2A if:
- You’re using Google’s agent ecosystem
- You prefer message-based interactions with Server-Sent Events
- Your client already supports A2A
get_products, create_media_buy, etc. work identically in both protocols, just with different request/response wrappers.
Learn more: Protocol Comparison
Using the NPM Client
If you’re building in Node.js, use the official AdCP client:Common Issues
”Invalid request parameters” Error
Problem: You’re sending incorrect parameters or using an outdated schema. Solution:- Verify you’re using the latest AdCP version (check schema registry)
- Check parameter names match the task reference docs
- Use the testing platform to validate your request structure
Missing Pricing Information
Problem: Products return without CPM or pricing details. Solution: You need to authenticate. Unauthenticated requests only return limited public information.”Authentication required” Error
Problem: Trying to access an authenticated operation without credentials. Solution: Get credentials from the sales agent, then include them in your request headers.Next Steps
Now that you understand the basics:-
Explore the Protocol:
- Try the interactive testing platform
- Read the MCP Guide or A2A Guide
- Review the Task Reference
-
Get Credentials:
- Identify sales agents you want to work with (check their
adagents.jsonfiles) - Contact them to establish accounts
- Test authenticated operations
- Identify sales agents you want to work with (check their
-
Build Your Integration:
- Install the @adcp/client NPM package
- Follow the implementation patterns
- Use dry run mode to test safely
- Join the Community: