The Prebid Sales Agent is a server that connects AI buying agents to publisher ad servers using the Ad Context Protocol (AdCP). It handles product discovery, campaign creation, creative management, and delivery reporting across multiple ad servers through a single interface.
The Sales Agent supports three transport protocols: MCP (Model Context Protocol), A2A (Agent-to-Agent), and REST. All three call the same business logic layer, so behavior is identical regardless of which protocol an agent uses.
The Sales Agent is built on AdCP v3.6 and requires Python 3.12+. For the source code and latest updates, see the prebid/salesagent repository.
The Sales Agent follows a four-layer architecture:
┌─────────────────────────────────────────────────────┐
│ Transport Layer (MCP / A2A / REST) │
├─────────────────────────────────────────────────────┤
│ Auth & Identity Resolution │
├─────────────────────────────────────────────────────┤
│ Business Logic (_impl functions) │
├─────────────────────────────────────────────────────┤
│ Adapter Layer │
│ GAM │ Kevel │ Triton │ Broadstreet │ Mock │
└─────────────────────────────────────────────────────┘
│
▼
Ad Server APIs
All three transports call the same _impl functions, ensuring identical behavior regardless of protocol. This is enforced by structural test guards.
For details on the protocol layer, database schema, and adapter design, see Architecture.
git clone https://github.com/prebid/salesagent.git
cd salesagent
docker compose up -d
Access services at http://localhost:8000:
| Service | URL | Notes |
|---|---|---|
| Admin UI | /admin |
Test login with test_super_admin@example.com / test123 |
| MCP Server | /mcp/ |
StreamableHTTP endpoint |
| A2A Server | /a2a |
JSON-RPC 2.0 endpoint |
| Health Check | /health |
Service readiness |
| Agent Card | /.well-known/agent-card.json |
A2A discovery |
Test the MCP interface:
uvx adcp http://localhost:8000/mcp/ --auth test-token list_tools
uvx adcp http://localhost:8000/mcp/ --auth test-token get_products
The default test credentials are for local development only. Configure per-tenant SSO through the Admin UI before exposing the service externally. See Security.
For complete setup instructions, see the Quick Start Guide.
The Sales Agent implements the Ad Context Protocol (AdCP), an open standard that defines how AI agents interact with advertising platforms. AdCP sits on top of MCP and A2A and defines tool semantics for:
get_products) – search for ad products using natural language or structured filters.create_media_buy) – proposal, booking, and management workflow.sync_creatives) – creative upload, validation, and approval tracking.get_media_buy_delivery) – delivery metrics across ad servers.get_products with a brief like “video ads targeting US sports fans” and receives matching products with pricing.create_media_buy with selected products, budget, targeting, and flight dates.sync_creatives to upload ad assets matching the required formats.get_media_buy_delivery for impression, spend, and pacing data.The Sales Agent is under active development. Not all ad server adapters have reached production status. Check the GitHub repository for the latest supported features and known issues.