SEO MCP Server for Claude, ChatGPT and Cursor
Connect SERPclimber to the AI client you already work in. It reads your Search Console data, your page inventory, your experiments and your AI visibility record — and, through a two-step approval, it can publish an experiment and confirm or revert the result.
replaces
- Exporting CSVs into a chat window
- Screenshotting dashboards for an agent
- Read-only SEO MCP servers
- Writing your own API glue
- 28 toolsreads and guarded writes# The same capabilities the in-product agent uses.
- OAuth 2.1no API key to paste# Sign in, approve the scopes, revoke any client later.
- Two stepsbefore anything changes# Prepare a plan, then execute that exact plan.
- Remotenothing to install or host# One Streamable HTTP URL, hosted by us.
What SEO MCP Server does
Most SEO tools answer questions inside their own dashboard. An MCP server inverts that: your AI client asks the questions, and the tool answers with your real data.
SERPclimber publishes a remote Model Context Protocol server at /mcp. Point Claude, ChatGPT, Cursor, or anything else that speaks Streamable HTTP at that URL, sign in once, and your agent can work with the same picture of your site that the product has.
What makes this different from a read-only SEO MCP
Most SEO and AI-visibility MCP servers are report readers. They hand your agent a number and stop there, so the agent can tell you a page is losing clicks but cannot do anything about it.
This one can finish the job. Alongside the read tools there is a small, deliberately narrow set of write tools, and every write goes through the same two-step plan-and-execute contract the product uses internally. Your agent proposes; SERPclimber freezes exactly what will happen; then the agent executes that frozen plan and nothing else.
A Google Search Console MCP, plus everything downstream of it
A generic Google Search Console MCP gives an agent clicks, impressions and positions. That is the raw material, not the work.
Because SERPclimber already fuses Search Console with GA4, your CMS and your crawler logs, the same connection also exposes ranked opportunities, page diagnostics, experiment history and AI citations. Your agent asks one question and gets the answer with the context attached.
How it works
- 1
Add one URL to your client
In Claude Code that is
claude mcp add --transport http serpclimber https://serpclimber.com/mcp. In ChatGPT, Claude Desktop or Cursor it is a custom connector or one entry inmcp.json. There is nothing to install and no key to generate. - 2
Sign in and approve the scopes
The client sends you to SERPclimber to sign in. You approve
mcpfor reads, andmcp:writeonly if you want the client to be able to spend or change anything. Approving takes seconds and does not require a paid plan. - 3
Ask in your own words
Your agent picks the right tools itself. "Which pages lost the most clicks this month and why" fans out across Search Console analysis, page detail and diagnostics without you naming a single tool.
- 4
Let it prepare a change
When the agent wants to act it calls
actions_prepare. SERPclimber returns a plan listing the exact targets, the preconditions, the warnings, whether the change is reversible and when the plan expires. - 5
Execute the frozen plan
The agent calls
actions_executewith only that plan ID. Preconditions are re-checked at execution time, so a plan that has gone stale fails instead of doing something you did not agree to. - 6
Revoke whenever you like
Every connected client is listed in Settings with its scopes, connection date, last use and call count. Revoking invalidates all of that client's tokens immediately.
Your whole workspace, readable by your agent
The read tools mirror the product surfaces rather than exposing a raw API, so your agent gets answers in the shape a person would read them — ranked, diagnosed and already joined to the rest of your data.
- Search Console analysis, page movement and the full page inventory
- Page detail, diagnostics and experiment eligibility explanations
- Ranked experiment opportunities and workspace-wide prioritisation
- Experiments, their keyword evidence and Draft review context
- AI visibility questions, answers, competitors and crawler access
- Project and workspace settings, integration health and billing access
- The product documentation itself, searchable in place
Writes are two calls, never one
An agent connected over MCP cannot send a direct mutation. That is a property of the server, not a setting you have to remember to switch on.
The first call, actions_prepare, produces a short-lived plan. The second, actions_execute, references only that plan ID. Plans are one-time, they expire, and their preconditions are checked again before anything runs — so the change that happens is the change you saw described.
- Page refresh, rank collection and eligibility changes
- The experiment and Draft lifecycle, including confirm and revert
- Keyword updates and project feature or settings changes
- Workspace defaults
- Not available over MCP: creating, renaming, re-domaining or archiving projects, or binding integrations
Two scopes, and a client only gets what you approve
The mcp scope reads. The mcp:write scope additionally permits paid live services and the two-step action workflow. A client that only ever needs to answer questions never has to hold the write scope.
Neither scope is a way around the checks that already exist. Project ownership, subscription state, usage limits, integration health and workflow rules apply exactly as they do in the app — a call that fails one of them returns a readable error and the connection stays valid.
- Per-user and per-client authorisation, revocable one client at a time
- PKCE required; tokens are pinned to the exact MCP resource
- Dynamically registered clients are labelled unverified unless their metadata is published
- Credentials, encrypted fields and OAuth tokens are stripped from every response
SEO tools for Claude, ChatGPT and any MCP client
There is no per-client integration to wait for. The server implements the remote Streamable HTTP transport with OAuth discovery, which is what current MCP clients expect, so support is a function of the protocol rather than of our roadmap.
In practice that means Claude Code, Claude Desktop, claude.ai, ChatGPT connectors, Cursor and VS Code all connect the same way — and so will the next client, without us shipping anything.
- Claude Code, Claude Desktop and claude.ai
- ChatGPT custom connectors
- Cursor, VS Code and other `mcp.json` clients
- Any client speaking Streamable HTTP with OAuth discovery
Everything it covers
Remote Streamable HTTP server
One URL. Nothing to install, run or keep updated.
OAuth 2.1 with PKCE
No API keys copied into config files.
Dynamic client registration
New clients connect without us adding them first.
28 tools
The same capabilities the in-product agent uses.
Search Console analysis
Clicks, impressions, positions and page movement.
Full page inventory
The same table the product ranks by opportunity.
Page diagnostics
Why a page moved, not just that it moved.
Experiment opportunities
Ranked candidates with the reasoning attached.
Experiment lifecycle
List, read, review Drafts, publish, confirm or revert.
AI visibility record
Saved questions, answers, competitors and crawler access.
Live engine asks
Metered, and only with the write scope.
Documentation search
Your agent can read the manual before acting.
Two-step writes
Prepare a plan, then execute that exact plan.
Expiring, one-time plans
Preconditions re-checked before execution.
Scope separation
`mcp` reads; `mcp:write` spends and changes.
Per-client revocation
Kill one client without touching the others.
Call telemetry
Scopes, connection date, last use and call totals per client.
Secret redaction
Credentials and tokens never appear in a response.
Is this the best MCP server for SEO?
That depends on what you want the agent to do. If you only need it to read AI-visibility numbers, several tools now publish an MCP server and any of them will answer that question.
The reason to use this one is that the loop does not stop at the answer. The same connection that tells your agent a page is losing clicks also lets it draft the fix, publish it as a live SERP A/B test against the page's own baseline, and confirm or revert it on the evidence — with a plan you can read before each change.
Frequently asked questions
No. Approving the OAuth connection is free. Individual tool calls still respect the same rules as the app, so a call that needs a subscription, a writable project, a connected integration or remaining usage returns a readable error such as subscription-required or usage-limit-reached. The connection itself stays valid.
Not in one step. Direct mutations are not available over MCP at all. A client must first call actions_prepare, which returns a plan describing the exact targets, warnings, reversibility and expiry, and then call actions_execute with only that plan ID. Preconditions are re-checked at execution. If you never approve the mcp:write scope, the client cannot reach those tools in the first place.
Deliberately quite a lot. MCP clients cannot create, rename, re-domain, archive or change your default project, and they cannot bind integrations — anything that would change the shape of your workspace or touch credentials stays in the app. Results also never include credentials, encrypted fields or raw OAuth tokens.
Any client that supports remote MCP servers over Streamable HTTP with OAuth discovery. That currently includes Claude Code, Claude Desktop, claude.ai, ChatGPT custom connectors, Cursor and VS Code. Because the server implements the standard rather than per-client integrations, new clients tend to work without changes on our side.
An API expects you to write the glue: authenticate, page through endpoints, join the results, decide what matters. MCP hands the agent a described set of tools and lets it choose. You ask a question in your own words and the agent picks the calls. If you would rather write the glue yourself, the product surfaces are the same either way.
Open Settings → Account → MCP access. Every connected client is listed with its name, trust source, approved scopes, connection date, last use and call totals. Choosing Revoke invalidates every access and refresh token in that grant immediately. You can reconnect from the client if you revoke one by mistake.
Works with
~/serpclimber/agentAI SEO Agent
Ask a general chatbot about your rankings and it will guess, because it has never seen your data. This agent is docked into every screen with the same context you have — your pages, your queries, your experiments — and it can act on what it finds, with your approval.
Read more
~/serpclimber/autopilotSEO Automation
Full autonomy is a big ask for something that edits your live site. Autopilot breaks the loop into four steps — find, draft, publish, decide — and lets you hand over each one independently, from fully manual to running on its own.
Read more
~/serpclimber/pagesSEO Dashboard
Search Console tells you what ranks. GA4 tells you what earns. Neither tells you which page to fix next. SERPclimber fuses both into one page inventory — position, clicks, sessions, revenue and referrers per URL — and ranks it by opportunity.
Read more
~/serpclimber/ai-visibilityAI Visibility
ChatGPT, Perplexity, Gemini, Claude and Google's AI Overviews answer questions about your market every day, citing somebody. AI visibility shows you which questions those are, who gets cited, and whether the AI crawlers can read your site at all.
Read morePoint it at your site.
A project takes one domain. The first pass tells you what it found — before anything changes on your site.