MCP — plug SignalGuide into Claude, ChatGPT, Cursor.
Drop SignalGuide's endpoint into any MCP client, approve the connection in a browser tab, and your AI assistant can answer questions about your traffic. Read-only, scoped to your sites, revokable any time.
What is MCP
The Model Context Protocol is an open standard AI assistants use to call external data and tools. SignalGuide's MCP server exposes eight read-only tools that return analyst-quality intelligence about your sites.
Prerequisites
A SignalGuide account with at least one connected site. If you haven't done that yet, start with Onboarding. You'll need a site generating at least one snapshot for the tools to return anything useful.
Setup — OAuth (recommended)
OAuth 2.1 clients discover SignalGuide automatically — no tokens, no config files. This works in Claude Desktop (recent versions), Cursor, and any client that implements the MCP authorization spec.
Add the MCP server URL
In your client, add a remote MCP server with the URL https://api.signalguide.io/mcp/sse. Nothing else to type — no headers, no tokens.
Approve in your browser
The client opens https://api.signalguide.io/oauth/consent in a browser tab. If you're already signed into SignalGuide, you'll see a consent screen listing the client's name and what it's allowed to read. Click Approve.
Ask a question
The browser hands control back to the client, which now has an access token and can call SignalGuide's tools on your behalf. Try: “What's the biggest problem on my site right now?”
Access tokens last one hour; the client refreshes them transparently. Revoke any connected app any time from Settings → MCP → Connected apps.
Setup — manual token (fallback)
For clients without OAuth support, CLI scripts, and curl testing, you can still paste a long-lived bearer token.
Create a token
Open Settings, go to the MCP tab, scroll to Manual tokens, click Create token. Optionally give it a label (e.g. “curl testing”) so you can tell it apart later.
Paste into your MCP client
Tokens start with sgm_. Configs for the common clients are in the next section. The authorization header is Bearer <your token>; the SSE endpoint is https://api.signalguide.io/mcp/sse.
Restart the client
Claude Desktop and Cursor re-read their config on launch. Quit fully and reopen. ChatGPT picks up remote connectors immediately after you add them in the UI.
Client configs
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows. Add the signalguide entry under mcpServers:
Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project.
ChatGPT
ChatGPT supports remote MCP servers on Team, Enterprise, and Pro plans via Settings → Connectors → Add connector. Use these values:
Any MCP client
The server speaks MCP over SSE. Two endpoints, both under /mcp:
Tool reference
Eight tools, all read-only. The assistant picks which ones to call based on your prompt — you don't invoke them directly.
Example prompts
Paste any of these into Claude, ChatGPT, or Cursor after the server is connected. The assistant will chain tool calls and summarize.
- “What's the biggest problem on my site right now?”
- “Compare the last 7 days to the week before — what changed?”
- “Which of my pages have the highest bounce rate with more than 100 views?”
- “How much traffic am I getting from ChatGPT and Perplexity this period?”
- “Which of my content clusters are gaining momentum?”
- “Show me P0 and P1 findings across all my sites.”
- “How are my conversion pages performing and where's the conversion coming from?”
- “Pull the top 20 pages by GSC impressions and tell me which ones have bad CTR.”
Security
Read-only. The server exposes eight query tools and zero mutations. Nothing an AI client does through MCP can write to your Google accounts or change your SignalGuide config.
Scoped per user. Every tool pulls user_id from the verified bearer token, not from arguments. The site lookup enforces Site.user_id == user_id, so a token can read every site you own and nothing from another user. Passing a foreign site_id returns a generic Site <id> not found — it won't reveal whether that id exists.
Hashed at rest. Tokens are stored only as SHA-256 hashes. If you lose a token, generate a new one — there's no recovery.
Revoke anytime. For OAuth clients, Settings → MCP → Connected apps → Disconnect. For manual tokens, scroll to Manual tokens and click Revoke. Either path is instant; the next request gets a 401.
OAuth details. Public PKCE clients only (no client secrets). Access tokens last one hour, refresh tokens 30 days and rotate on every use — replaying an old refresh token revokes the whole chain. The only supported scope today is mcp:read.
Troubleshooting
401 Unauthorized
The response body looks like {"error":"unauthorized","detail":"..."}. Causes: no Authorization header, a header that doesn't start with Bearer , or a token that's been revoked or mistyped. Generate a new one and update your config.
Tools not appearing in Claude Desktop
Almost always a config-file syntax error (trailing comma, missing quote) or Claude Desktop wasn't fully quit before reopening. Validate the JSON, quit completely from the menu bar, relaunch.
“Site not found” when calling a tool
You passed a site_id the token can't see. Ask the assistant to call list_sites first and pick an id from that list.
No snapshot yet
A fresh site has no snapshot until the first pull runs. Tool responses include "snapshot": null and empty arrays. Trigger a pull from the dashboard or wait for the scheduled one.
Limits
No rate limits enforced at launch — use the endpoint normally and we'll publish numbers here before any throttling ships. MCP access is included on every paid plan; see pricing for tiers.