Back to Developers
Developer Docs

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/mcp

Two 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.

74 toolsHosted — nothing to install

Platform API MCP server

https://api.trillboards.com/mcp

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 tools
7 toolsRuns on the device

Edge SDK MCP server

npx -y -p @trillboards/edge-sdk trillboards-edge-mcp

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

get-device-statusget-audience-liveconfigure-sensingrun-benchmarkdiagnose-hardwarelist-modelsget-buffer-stats
Full Edge SDK MCP reference

Connect it

Three ways in, same 74 tools. Use the hosted endpoint unless your client only speaks stdio.

Claude Code — one command

Terminal
claude mcp add --transport http trillboards https://api.trillboards.com/mcp \
  --header "Authorization: Bearer $TRILLBOARDS_API_KEY"

Claude Desktop, Cursor — stdio proxy

claude_desktop_config.json
{
  "mcpServers": {
    "trillboards": {
      "command": "npx",
      "args": ["-y", "-p", "@trillboards/ads-sdk", "trillboards-mcp"],
      "env": { "TRILLBOARDS_API_KEY": "your_key" }
    }
  }
}

Any agent — raw JSON-RPC

Terminal
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.

CategoryToolsWhat your agent can do
Inventory discovery3Find screens by venue, geography, or live audience, and forecast who will be there
AdCP media buy7Get products, create and update a media buy, sync creatives, read delivery, feed performance back
AdCP signals3Pull deterministic real-time audience signals and activate one against a buy
Campaign management3Launch a campaign, read its performance, pull network-wide stats
Attribution and measurement15ROAS, incrementality, multi-touch, cross-channel journeys, attention, heatmaps, proof-of-play verification
Physical-world intelligence13Query and semantically search observations, detect anomalies, correlate signals, predict, export a dataset
Device management5Register, list, inspect, and delete devices, and read what a device should play next
Impression tracking3Record impressions one at a time or in batch, and send device heartbeats
Webhooks6Create, list, update, delete, and test subscriptions, and inspect deliveries
Billing5Read pricing and usage, set up billing, buy credits, check status
Content intelligence3Search content, read how a creative performed, get recommendations
Agent self-navigation5List and describe endpoints, validate a request before sending it, list error codes, query the changelog
Partner management2Register a partner organization and read its account
Analytics1Aggregate 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.