API
MCP server: Traqio in Claude and Cursor
Connect Claude Code, Cursor or Claude Desktop to Traqio's hosted MCP server and ask about ROAS, cohorts and links in plain language, with a scoped API key.
Traqio hosts a Model Context Protocol (MCP) server at https://api.traqio.app/mcp. Each of its tools runs one endpoint of the public API, with the same API key and the same scopes — so a read-only key is read-only in Claude too. The server is stateless (Streamable HTTP, one JSON-RPC message per request).
Connect#
Create an API key#
In the console, Settings → API keys. Give the assistant the narrowest scopes that answer your questions —
reports:readis enough to ask about ROAS. The console shows the Claude Code command with the key filled in, the one time the key is on screen.Add the server to your client#
Claude Code:
claude mcp add --transport http traqio https://api.traqio.app/mcp \ --header "Authorization: Bearer $TRAQIO_API_KEY"Cursor —
.cursor/mcp.json:{ "mcpServers": { "traqio": { "url": "https://api.traqio.app/mcp", "headers": { "Authorization": "Bearer tq_live_…" } } } }Claude Desktop —
claude_desktop_config.json, through themcp-remotebridge:{ "mcpServers": { "traqio": { "command": "npx", "args": [ "-y", "mcp-remote", "https://api.traqio.app/mcp", "--header", "Authorization:${TRAQIO_AUTH}" ], "env": { "TRAQIO_AUTH": "Bearer tq_live_…" } } } }Ask a question#
“Which Meta ads had the best ROAS last week?”, “Is my TikTok spend sync healthy?”, “Create a tracking link for the autumn campaign”. The
traqio_statustool tells the assistant which workspace and scopes it holds.
Tools#
| Tool | Does | Scope |
|---|---|---|
list_apps | your apps | reports:read |
get_roas | ROAS by campaign, ad set or ad | reports:read |
get_roas_daily | spend, revenue and ROAS per day | reports:read |
get_cohorts | install-day cohorts | reports:read |
get_revenue | revenue by currency and attribution | reports:read |
get_rejections | what Traqio refused, and why | reports:read |
get_connector_health | ad-network connections and their last sync | reports:read |
sync_spend | pull spend now | reports:write |
list_links | an app's tracking links | links:read |
create_tracking_link | create a tracking link | links:write |
erase_user_data | erase a user's data (GDPR) — marked destructive, so your client asks you first | privacy:write |
traqio_status | the workspace, the key and its scopes | any key |
tools/list returns only the tools the key may call. Dates follow the API's conventions: YYYY-MM-DD, to exclusive.
Frequently asked questions#
- Which MCP clients work with Traqio?
- Any client that speaks MCP's Streamable HTTP transport with a custom header: Claude Code and Cursor natively, Claude Desktop through the mcp-remote bridge.
- Can the assistant change anything in my account?
- Only what the key's scopes allow. A key with reports:read alone can only read reports: the server lists only the tools the key may call. Write scopes allow triggering a spend pull (reports:write), creating tracking links (links:write) and erasing a user's data on request (privacy:write, a tool marked destructive) — never managing keys, members, credentials or billing.