Getting started with Kagel
Kagel connects your ad and analytics accounts to any MCP-capable AI client — Claude Desktop, Claude Code, Cursor and others. Five minutes from signup to your first campaign report in chat.
1 · Create your account
Sign up at kagel.cc/signup. Your account gets one Bearer key — it authenticates you on every Kagel MCP server. Find it on your dashboard (masked, with Show / Copy).
2 · Connect your platforms
On the dashboard, press Connect on a platform card and sign in through the platform's official OAuth. Kagel stores only the resulting access token — encrypted, isolated to your workspace, revocable with one click (Disconnect).
- Meta Ads — one Facebook login covers your ad accounts, Pages and Instagram identity.
- Google — one consent covers Google Ads, GA4, Search Console and BigQuery.
- TikTok Ads — one TikTok for Business login covers your advertiser accounts (TikTok caps each authorization at 30 days; reconnect from the dashboard).
3 · Add Kagel to your AI client
The dashboard generates this config for you with your real key and only the servers you've connected. The shapes:
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude.
{
"mcpServers": {
"kagel-meta": {
"url": "https://meta.kagel.cc/mcp",
"headers": { "Authorization": "Bearer YOUR_KAGEL_KEY" }
},
"kagel-ga4": {
"url": "https://ga4.kagel.cc/mcp",
"headers": { "Authorization": "Bearer YOUR_KAGEL_KEY" }
}
}
}
Cursor
Same JSON in ~/.cursor/mcp.json (global) or
.cursor/mcp.json in a project.
Claude Code
One command per server:
claude mcp add --transport http kagel-meta https://meta.kagel.cc/mcp --header "Authorization: Bearer YOUR_KAGEL_KEY"
All server URLs
Six servers, one Bearer key
https://meta.kagel.cc/mcpLaunch and measure Facebook & Instagram campaignshttps://google-ads.kagel.cc/mcpCampaigns, ad groups, keywords, reportshttps://ga4.kagel.cc/mcpGoogle Analytics reports and realtime datahttps://gsc.kagel.cc/mcpSearch performance, sitemaps, URL inspectionhttps://bigquery.kagel.cc/mcpRead-only SQL over your warehousehttps://tiktok.kagel.cc/mcpTikTok's full ads tool set, fronted by Kagel4 · First prompts to try
Meta Ads
List my ad accounts and show active campaigns in eachHow did my campaigns perform in the last 7 days? Break it down by campaignCreate a traffic campaign for our spring sale, $50/day, paused so I can review
Google Ads
Which of my Google Ads campaigns spent the most last month?Add 10 keywords about running shoes to ad group X — phrase match
GA4 / Search Console / BigQuery
Show active users by day for the last 28 days from GA4Top 20 search queries by clicks in the last month, and pages that lost CTRQuery BigQuery: total events per day from my analytics dataset (dry-run first)
How approvals work
Reads run immediately. Anything that spends money or changes campaign state comes back as a preview — your assistant shows exactly what will be created (always paused) or changed, and nothing executes until you say approve. Pending actions expire after 15 minutes. You can also say reject or ask to list pending actions.
Troubleshooting
- 401 / “missing bearer token” — the Authorization header is absent or malformed; re-copy the config from your dashboard.
- 403 / “invalid bearer token” — wrong or stale key; copy the current one from the dashboard.
- “… not connected” from a tool — that platform isn't linked yet; press Connect on the dashboard.
- Google tools return empty lists — the connected Google account has no assets of that type yet (no GA4 property / GSC site / BigQuery dataset).
- Client doesn't see the servers — restart the client after editing its config file.