Traqio.

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#

  1. Create an API key#

    In the console, Settings → API keys. Give the assistant the narrowest scopes that answer your questions — reports:read is 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.

  2. 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 the mcp-remote bridge:

    {
      "mcpServers": {
        "traqio": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://api.traqio.app/mcp",
            "--header",
            "Authorization:${TRAQIO_AUTH}"
          ],
          "env": {
            "TRAQIO_AUTH": "Bearer tq_live_…"
          }
        }
      }
    }
  3. 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_status tool tells the assistant which workspace and scopes it holds.

Tools#

ToolDoesScope
list_appsyour appsreports:read
get_roasROAS by campaign, ad set or adreports:read
get_roas_dailyspend, revenue and ROAS per dayreports:read
get_cohortsinstall-day cohortsreports:read
get_revenuerevenue by currency and attributionreports:read
get_rejectionswhat Traqio refused, and whyreports:read
get_connector_healthad-network connections and their last syncreports:read
sync_spendpull spend nowreports:write
list_linksan app's tracking linkslinks:read
create_tracking_linkcreate a tracking linklinks:write
erase_user_dataerase a user's data (GDPR) — marked destructive, so your client asks you firstprivacy:write
traqio_statusthe workspace, the key and its scopesany 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.

Last updated October 14, 2026