One endpoint. 74 tools.
Point Claude, Cursor, or any MCP client at api.trillboards.com/mcp and buy DOOH inventory, pull live audience signals, and verify proof-of-play from inside the conversation. Nothing to integrate.
https://api.trillboards.com/mcpTwo servers, two jobs
Trillboards runs two MCP servers and they are not interchangeable. The platform server sells and measures inventory. The Edge SDK server operates one screen. Most integrations only need the first.
Platform API MCP server
The whole platform: discover screens, launch campaigns, transact over AdCP, and pull attribution and proof-of-play.
Streamable HTTP at a fixed URL. Send your platform API key as a Bearer token; discovery, pricing, and heartbeat tools work with no key at all.
See all 74 toolsEdge SDK MCP server
One screen at a time: device status, live sensing output, hardware diagnostics, installed models, and config pushes.
A separate binary that talks to the edge agent's status server on port 9090. Different tools, different transport, different job — it never sees inventory or money.
The seven tools
Connect it
Three ways in, same 74 tools. Use the hosted endpoint unless your client only speaks stdio.
Claude Code — one command
claude mcp add --transport http trillboards https://api.trillboards.com/mcp \
--header "Authorization: Bearer $TRILLBOARDS_API_KEY"Claude Desktop, Cursor — stdio proxy
{
"mcpServers": {
"trillboards": {
"command": "npx",
"args": ["-y", "-p", "@trillboards/ads-sdk", "trillboards-mcp"],
"env": { "TRILLBOARDS_API_KEY": "your_key" }
}
}
}Any agent — raw JSON-RPC
curl -s https://api.trillboards.com/mcp/ \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'That call needs no API key. It returns every tool definition, so an agent can plan against the catalog before it authenticates.
What the 74 tools do
Fourteen categories, counted from the live registry. Your agent does not need this table — tools/list returns the same thing at runtime — but you probably want to know what you are pointing it at.
| Category | Tools | What your agent can do |
|---|---|---|
| Inventory discovery | 3 | Find screens by venue, geography, or live audience, and forecast who will be there |
| AdCP media buy | 7 | Get products, create and update a media buy, sync creatives, read delivery, feed performance back |
| AdCP signals | 3 | Pull deterministic real-time audience signals and activate one against a buy |
| Campaign management | 3 | Launch a campaign, read its performance, pull network-wide stats |
| Attribution and measurement | 15 | ROAS, incrementality, multi-touch, cross-channel journeys, attention, heatmaps, proof-of-play verification |
| Physical-world intelligence | 13 | Query and semantically search observations, detect anomalies, correlate signals, predict, export a dataset |
| Device management | 5 | Register, list, inspect, and delete devices, and read what a device should play next |
| Impression tracking | 3 | Record impressions one at a time or in batch, and send device heartbeats |
| Webhooks | 6 | Create, list, update, delete, and test subscriptions, and inspect deliveries |
| Billing | 5 | Read pricing and usage, set up billing, buy credits, check status |
| Content intelligence | 3 | Search content, read how a creative performed, get recommendations |
| Agent self-navigation | 5 | List and describe endpoints, validate a request before sending it, list error codes, query the changelog |
| Partner management | 2 | Register a partner organization and read its account |
| Analytics | 1 | Aggregate performance across your fleet |
Discovery without a key
An agent can find us, read the platform, register itself, and get five sandbox screens before a human sees a contract. None of these endpoints require authentication.
Give your agent a key.
Registration is one call and the sandbox screens come with it.