The Prebid Sales Agent is a server that exposes advertising inventory to AI agents via the Model Context Protocol (MCP) and Agent-to-Agent (A2A) protocol. It is designed to integrate with ad servers like Google Ad Manager and provides tools for managing inventory and campaigns throughout their lifecycle.
You can try the sales agent locally using Docker:
# Clone and start
git clone https://github.com/prebid/salesagent.git
cd salesagent
docker compose up -d
# Test the MCP interface
uvx adcp http://localhost:8000/mcp/ --auth test-token list_tools
Access services at http://localhost:8000:
/admin (Test credentials: test123)/mcp//a2aFor production, publishers can deploy their own sales agent instance. The repository provides guides for various deployment methods, including Docker and cloud platforms.
The Sales Agent is built on the AdContext Protocol (AdCP), an open standard designed to standardize how AI agents interact with advertising platforms.
AdCP operates as a layer on top of standard AI interaction protocols:
AdCP abstracts complex advertising operations into standardized domains:
get_products): Agents can search for ad products using natural language criteria (e.g., “video ads in North America”) rather than specific line item IDs.create_media_buy): A normalized workflow for proposal, negotiation, and booking that works consistently across different ad servers.build_creative): Standardized handling of creative assets, allowing agents to generate or upload assets that match publisher specifications.get_signals, activate_signal): Mechanisms for passing context and identity signals to improve targeting and campaign performance.A typical AI-driven campaign flow using AdCP might look like this:
create_media_buy to submit a proposal.The project follows a clean structure isolating core MCP components, business logic services, and ad server adapters.
salesagent/
├── src/
│ ├── core/ # Core MCP server components
│ ├── services/ # Business logic services
│ ├── adapters/ # Ad server integrations (e.g., GAM)
│ └── admin/ # Admin UI (Flask)
├── scripts/ # Utility and deployment scripts
└── tests/ # Comprehensive test suite
Contributions are welcome! Please refer to the Development Guide in the repository for details on setting up your environment and creating pull requests.