MCP Setup · Cursor
AI-first code editor — native MCP.
Cursor reads MCP servers from `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global). Paste and reload Cursor.
Sign in to Admaxxer and open Settings → AI Providers → MCP. Click 'Generate MCP token'. Copy the token immediately — we only store a SHA-256 hash, so the plaintext is shown exactly once. Save it somewhere safe; if you lose it, generate a new one.
Cursor reads `.cursor/mcp.json` in your project root (per-workspace) or `~/.cursor/mcp.json` (global). For ad-ops work, global is usually what you want — same connection across every project.
code ~/.cursor/mcp.json
Same JSON shape as Claude Desktop — Cursor uses the standard MCP config format.
{
"mcpServers": {
"admaxxer": {
"url": "https://admaxxer.com/mcp/sse",
"transport": "sse",
"headers": {
"Authorization": "Bearer mcp_ADM_<paste_token_here>"
}
}
}
}
Cmd-Shift-P → 'Reload Window'. Cursor's Composer and Chat panels both pick up the new MCP server automatically.
Ask your AI 'What ad accounts do I have connected?' If it lists your Meta + Google connections, you're done. If it says it doesn't have access to that information, see the Troubleshooting section below — most often a stale config or an unrestarted client.
Once Cursor is connected, ask it any of these — the answers come straight from your Admaxxer workspace.
Admaxxer's MCP server exposes 6 tools. Read tools run automatically; write tools (pause / update_campaign) require explicit user confirmation in Admaxxer.
admaxxer_list_connectionsreadLists every Meta + Google ad-platform connection in the workspace, with status (healthy / token expired / disabled), platform, and account label. Used by the AI to discover which connections to query for insights.
Example prompt: “What ad accounts do I have connected?”
admaxxer_list_campaignsreadLists active or paused campaigns for a given connection (Meta or Google). Returns campaign ID, name, objective, status, daily budget, and lifetime spend.
Example prompt: “Show me all my Meta campaigns sorted by spend.”
admaxxer_get_campaign_insightsreadPulls metrics for one campaign over a date range — impressions, clicks, spend, conversions, ROAS, CPA. Optional breakdowns by age, gender, device, region.
Example prompt: “How did campaign 'BFCM Scale' perform last week?”
admaxxer_get_account_insightsreadAccount-level rollup of insights across all campaigns for a connection. Optional breakdowns. Best for high-level ROAS / spend trends.
Example prompt: “What's my Meta account ROAS for the last 30 days?”
admaxxer_query_metricsreadRuns a whitelisted Tinybird analytics pipe (visitors, revenue, MER, LTV, MMM, attribution, forecast). The workspace_id is injected server-side — the AI cannot see another workspace's data.
Example prompt: “What's my blended MER for the last 14 days vs the prior 14 days?”
admaxxer_get_workspace_contextreadReturns the workspace's plan tier, currency, time zone, connected platforms, and last-sync timestamps. Useful for the AI to ground its answers.
Example prompt: “What plan am I on and when was my data last synced?”
Your token has been revoked or expired. Open Admaxxer → Settings → AI Providers → MCP and generate a fresh token. Replace the value in your client's config file and restart the client.
Most MCP clients only read the config file at startup. Fully quit the client (not just close the window) and reopen it. In Cursor, Cmd-Shift-P → Reload Window. In Claude Desktop, Cmd-Q then relaunch.
Tinybird-backed pipes are rate-limited per token to protect the analytics layer. Spread the call out (`for the last 7 days` instead of `the last 90 days hourly`) or wait 30 seconds and retry. Free workspaces share a tighter bucket than paid.
You issued the MCP token from a workspace that doesn't have the ad connection wired up. Switch to the right workspace in Admaxxer (top-left switcher), reissue the token, and update the client config.
By design — write tools require explicit confirmation in Admaxxer's UI. Open `/chat` in Admaxxer; the agent will surface a confirm card with the exact action. The same confirmation flow applies to MCP-initiated writes.
Generate an MCP token in Admaxxer, paste it into Cursor's config (.cursor/mcp.json (project) · ~/.cursor/mcp.json (global)), and your AI is wired into every ad account in this workspace.