Skip to main content
Connect your favorite AI app to SnowSEO and work with your SEO just by chatting. Instead of opening the dashboard, you can ask Claude, ChatGPT, or any AI assistant something like “how are my tracked keywords doing this month?” and get the answer straight from your SnowSEO account — and, for the actions you switch on, have it do the work too: “track these five keywords for me.”

What is the MCP server?

The Model Context Protocol (MCP) is an open standard that lets AI apps connect securely to outside services. The SnowSEO MCP server is how your AI app reaches your SnowSEO data — your keywords, rankings, topic clusters, Search Console stats, and more — so you can ask about them in normal conversation instead of switching between apps. By default the connection is read-only — the app can view your data and answer questions, nothing more. You can also switch on specific actions per brand (like tracking keywords or managing existing articles) so the assistant can do them for you. You decide exactly what’s allowed in Settings → Integrations → MCP, and every connected app follows those rules.

What you can do

Once connected, just ask your AI app to:
  • Check your rankings — see tracked keywords, what moved up or down, and trends over time
  • Research keywords — get keyword ideas with search volume, competition, and AI suggestions for your brand
  • Review topic clusters — see which clusters are gaining visibility and how they’re performing
  • Look at your traffic — Search Console clicks, impressions, CTR, GA4 visitors, and PostHog analytics
  • Review AI visibility — inspect tracked prompts, model visibility, competitors, citations, and filters
  • Check your content — article SEO scores, status, and recent team activity
  • Plan content — get article title ideas, target keywords, outlines, and FAQ prompts for any topic
  • Read your brand setup — audience, competitors, and brand profile
  • See your whole portfolio — an org-level rollup of every brand’s visibility, rankings, traffic, and open work
  • Review recommended next steps — the ranked to-do list of what to fix, with how-to detail for each item
  • Check your backlink outreach - prospects worth pitching, who you found at each site, what’s queued or sent, and who replied

…and take action for you

Switch these on per brand — they’re off by default — and the assistant can also:
  • Track & untrack keywords — start rank-tracking new keywords, or remove ones you no longer need
  • Track AI prompts — add, refresh, update, or remove prompts from AI-visibility tracking
  • Organize topics — create topic clusters and add keywords or prompts to them
  • Generate articles — write a complete SEO article from a brief, or run it step by step (titles → outline → draft); this uses credits, so the assistant asks first
  • Manage content — edit existing articles and schedule, publish, unpublish, or change public-feed visibility
  • Work your next steps — start, snooze, dismiss, reopen, or mark next steps done, and refresh the list
  • Run backlink outreach - search for prospects, look up who to pitch, resolve their addresses, draft a pitch, and queue or reply to real email; this spends credits and sends mail, so keep these off unless you want the assistant doing it
You turn each one on or off in Settings → Integrations → MCP — see Control what AI can do.

Connect your AI app

This is the easy way and works on any SnowSEO plan. You add SnowSEO as a “connector” inside your AI app, sign in through your browser once, and you’re done — there’s no key to copy or paste. The server URL is the same everywhere:
AI apps occasionally rename these menus as they update, so the exact wording may differ slightly — but the flow is always the same: find where the app adds a custom connector (or MCP server), paste the URL above, and approve the SnowSEO sign-in.

Claude (Desktop & web)

  1. Open Claude and go to Settings → Connectors.
  2. Click Add custom connector (this needs a paid Claude plan — Pro, Max, Team, or Enterprise).
  3. Give it a name like SnowSEO and paste the server URL: https://mcp.snowseo.com/mcp
  4. Click Add, then Connect. Claude opens the SnowSEO sign-in page in your browser — sign in and click Allow.
  5. SnowSEO now appears in your connectors. Start a chat and ask away.

ChatGPT

ChatGPT calls custom MCP connectors apps, and you add them through Developer mode (available on paid ChatGPT plans).
  1. In ChatGPT, open Settings → Apps, then Advanced, and turn on Developer mode. This is what lets you add custom connectors.
  2. Back on the Apps screen, click Create app.
  3. In the New App dialog, give it a Name like SnowSEO. Under Connection, keep Server URL selected and paste https://mcp.snowseo.com/mcp.
  4. Set Authentication to OAuth.
  5. Tick “I understand and want to continue” on the risk notice, then click Create.
  6. Sign in to SnowSEO and approve access. The app is now available — turn it on in a chat and ask about your SEO.

Other apps & assistants

Most MCP-capable apps follow the same pattern. Find where the app adds a custom connector or MCP server, paste https://mcp.snowseo.com/mcp, and approve the SnowSEO sign-in in your browser. No API key needed.

Which brand am I connecting?

Your connection is tied to your SnowSEO user session, not one fixed brand. The assistant should call list_teams first, let you choose the brand/team you mean, and pass that teamId to team-scoped tools. Tool permissions are still managed per brand in Settings → Integrations → MCP.

Example prompts

Once you’re connected, try asking:
Some questions chain together automatically — ask about a topic cluster and a good assistant will list your clusters first, then dig into the one you mean.

Developer setup (CLI & editors)

Building with an AI coding tool? The same server works from the command line and code editors. These use the same browser sign-in (OAuth) on any plan.

Claude Code

Then run /mcp, pick snowseo, and choose Authenticate to sign in. Add --scope user to use it in every project, or --scope project to share it with your team in a checked-in .mcp.json.

Cursor, VS Code, Windsurf & other editors

Open your client’s MCP config (usually a .mcp.json or mcp.json file) and add the server with no auth header:
On first connect the client opens the SnowSEO sign-in page in your browser. Approve it once and you’re connected.
Field names differ a little between clients (Windsurf uses serverUrl instead of url; VS Code’s top-level key is servers). The flow is the same — point it at the URL with no auth header and let the client handle sign-in.
Some clients can only launch local commands. Bridge to the remote server with mcp-remote (needs Node.js) — it handles the browser sign-in for you:

What the assistant can access

These are the tools the app uses behind the scenes. Call list_teams first to choose a brand, then pass the returned teamId to team-scoped tools. Read tools are on by default (you can switch any off per brand); actions stay off until you switch them on per brand. Read (on by default): Actions (off until you switch them on in Settings → Integrations → MCP):
outreach_queue_emails and outreach_reply send real email from your mailbox and cannot be undone. They are off until you switch them on, like every other action, and a good assistant will show you the wording before queueing anything - but treat them as the two switches worth thinking hardest about. Anything still queued can be pulled back from the dashboard; anything sent cannot.Connecting a mailbox is deliberately not an MCP tool: it takes mailbox passwords, which is not something an assistant should handle for you. Connect mailboxes in Settings → Integrations → Sending Accounts.
Not every endpoint in the API reference is available as an MCP tool. Long-running or background operations are left out because an assistant won’t wait on a single call - for example, a full SEO Audit runs as a crawl job that can take minutes, so it stays in the dashboard and REST API only. The tools above are the complete set an AI app can use.
Tools are documented here at the conceptual level — there is currently no per-tool parameter reference. Each tool maps to a /v3 endpoint, so consult the matching API reference page for exact inputs. Authentication is OAuth 2.1 only today; there is no API-key path for the MCP server.

Technical details

The server is a thin, stateless proxy over the Developer API: every tool call maps to a /v3 endpoint, and nothing is stored — your credentials are forwarded per request and team-scoped calls carry the selected teamId.

Control what AI can do

You’re always in charge of what a connected app can do. In the dashboard, open Settings → Integrations → MCP to see every tool grouped into Reading your data and Taking actions, each with an on/off switch.
  • Reads are on by default — viewing your SEO data is safe.
  • Actions are off by default — switch on only the ones you want the assistant to perform for you.
  • Rules are per brand, and every app connected to that brand (Claude, ChatGPT, Cursor…) follows them — flip a switch and it applies everywhere on the next request.
  • Only admins and owners can change these; other teammates can view them.
Turning a tool off blocks it at the moment it’s called: the assistant may still list it, but the request is refused and it’s told the tool is switched off for this brand. There is no delay: the check runs on every request, so a switch you flip now applies to the very next one.

Use the same settings for every brand

By default each brand keeps its own rules, so a brand you add later starts from the defaults again (reads on, actions off) rather than inheriting what you set elsewhere. If you’d rather manage one list, turn on Use the same settings for all brands. While it’s on:
  • Every brand follows the shared list, and editing it from any brand changes them all.
  • Brands you add later start with it too, with nothing to copy over.
  • Turning it back off is safe: each brand gets its own saved settings back, exactly as they were before you switched sync on.
Switching it on replaces what your other brands currently use with the settings of the brand you enable it from, so the dashboard asks you to confirm first. The toggle only appears once your organization has more than one brand, and like the rules themselves it’s admins and owners only.

Permission API

The same allow/deny matrix is available over the REST API. The dashboard settings screen is a thin client over these routes, and the API enforces the resulting state per brand on every request. GET /v3/settings/mcp Team-scoped (teamId), any member. Returns the full tool catalog with, for each tool, its name, label, description, group (read or write), default state, and effective state for the brand, plus canManage (whether the caller may edit), syncEnabled (whether the organization shares one list) and brandId. PATCH /v3/settings/mcp Team-scoped, team admins/owners only (members can read the matrix but not change it). Body: permissions, a map of tool name"allow" | "deny" (deltas only; values matching a tool’s default are cleared). Reads default to allow and writes default to deny. Returns the updated catalog in the same shape as the GET route. When syncEnabled is true this writes to the organization’s shared list, so the change applies to every brand, and the request shape is identical either way. PATCH /v3/settings/mcp/sync Team-scoped, team admins/owners only. Body: enabled (boolean). Turning it on copies the calling brand’s current settings to the organization’s shared list, which every brand then follows; turning it off returns each brand to its own saved settings, which are never overwritten while sync is on. Returns syncEnabled and the resulting catalog.

Troubleshooting

No — connecting an AI app works on any SnowSEO plan. You just add the connector and approve access in your browser.
The menu differs per app: in Claude it’s Settings → Connectors → Add custom connector; in ChatGPT it’s Settings → Apps → Advanced → Developer mode, then Create app. Most apps only allow custom connectors on paid plans.
Ask the assistant to call list_teams and use the teamId for the brand you mean. You do not need to reconnect just to switch brands.
That action is probably switched off for this brand. Open Settings → Integrations → MCP, turn it on under Taking actions, and ask again — new actions are off by default. (Some actions also use credits or need a specific plan.)
New brands start from the defaults (reads on, actions off) rather than copying an existing brand. Either switch its actions on under Settings → Integrations → MCP, or turn on Use the same settings for all brands so every brand, including ones you add later, follows a single shared list.
Use the same settings for all brands is switched on, so there’s one shared list and editing it from any brand applies everywhere. Turn it off to go back to per-brand rules, and each brand keeps the settings it had before sync was enabled.
Make sure it’s a keyword you actually track (ask for rank_tracking_keywords to see them), and that the brand has Google Search Console connected. Untracked keywords have no history to show.
Re-run the sign-in step and approve access in the browser window. Make sure your client uses the streamable-http transport and that it didn’t cache an expired session — removing and re-adding the connector forces a fresh sign-in.