Google Search Console MCP server for Claude, Codex and Cursor
superagnt_ runs a hosted Search Console MCP server: connect your property once with Google OAuth and Claude Code, Codex, Cursor or any other MCP client gets 8 Search Console tools. There is no Google Cloud project, key file or local process to keep alive, and Search Console calls cost no credits.
- endpoint
https://mcp.superagnt.com/mcp- auth
- OAuth to superagnt_, then Google OAuth for Search Console
- tools
- 8, prefixed
connection_google_search_console_ - cost
- 0 credits per Search Console call. How connections bill
What the Search Console MCP tools do
Every tool name starts with connection_google_search_console_, left off in the table. Each tool covers one kind of Search Console object at one risk level, and its action argument picks the API call. superagnt_ adds no approval step to calls from your own client: Claude Code, Codex or Cursor runs each tool under its own tool approval. The reads are marked read-only and the two delete tools destructive, so your client can tell them apart.
| Tool | What it returns or changes | Kind |
|---|---|---|
sites_readaction: list, get | Every property the Google account can see, or one of them, with your permission level and the exact siteUrl the other tools need. | Read |
analytics_readaction: query | Clicks, impressions, CTR and average position by query, page, country, device, date or hour, for web, image, video, news or Discover. | Read |
url_inspection_readaction: inspect | Google's index verdict for one URL: coverage state, the canonical Google chose, last crawl, rich results. | Read |
sitemaps_readaction: list, get | Submitted sitemaps with processing status, last download, submitted URL counts, and error and warning counts. | Read |
sitemaps_writeaction: submit | Points Google at a sitemap that is already live. | Write |
sites_writeaction: add | Adds a property to the account. | Write |
sites_deleteaction: remove | Unlinks a property from the account. Getting it back means adding and verifying it again. | Destructive |
sitemaps_deleteaction: delete | Withdraws a sitemap submission. | Destructive |
Two limits come from Google, so every server has them. The sitemap tools return error and warning counts, not the errors themselves. And url_inspection_read reads index status but cannot request indexing: Google's Indexing API only accepts pages marked up as JobPosting or BroadcastEvent.
How to connect Search Console to Claude Code, Codex or Cursor
- 1
Add the server. In Claude Code, run these two commands to install the plugin for the Super SEO skill. The plugin carries the skill only, not the server.
claude code/plugin marketplace add superagnt/plugins /plugin install super-seo@superagnt
Then add the server to Claude as a connector: open the prefilled dialog on claude.ai and click Add. Claude Code signed in with your Claude account loads it in its next session. Signed in with an API key, it never loads connectors, so run this pair instead.
terminalclaude mcp add --scope user --transport http superagnt https://mcp.superagnt.com/mcp claude mcp login superagnt
In Codex, run these two commands in your terminal.
terminalcodex mcp add superagnt --url https://mcp.superagnt.com/mcp codex mcp login superagnt
In Cursor, add this to
~/.cursor/mcp.jsonand finish the sign-in Cursor offers for the server.~/.cursor/mcp.json{ "mcpServers": { "superagnt": { "url": "https://mcp.superagnt.com/mcp" } } } - 2
Approve the superagnt_ consent screen. It opens on first connect and doubles as signup.
- 3
Connect Search Console. At app.superagnt.com, open Integrations, pick Google Search Console and click Connect. Google's own consent screen takes it from there.
- 4
Refresh the tool list. Start a new session in your client so the 8 tools load.
- 5
Ask for your properties. “List my Search Console properties” calls
sites_readwith the actionlist. Reuse eachsiteUrlexactly as it comes back:sc-domain:example.comfor a domain property, the full URL with its trailing slash for a URL-prefix one. A call against the wrong string fails.
Read and write: what the connection can change
The connection asks Google for the webmasters scope, which Google documents as read/write. It has to: adding a property and submitting a sitemap both need it. What keeps an agent in bounds depends on where it runs.
- From your own client, every tool runs under that client's tool approval,
sites_deleteandsitemaps_deleteincluded. superagnt_ adds no approval step there and workspace tool permissions don't apply, so keep your client asking before those two. - Hosted superagnt_ agents on the same connection run reads straight away, stop before any write by default, and wait for a person to approve it.
Google tokens are stored encrypted and refreshed before each call. If Google revokes access, calls return a 401 asking you to reconnect.
Hosted vs self-hosted Search Console MCP servers
| Self-hosted open-source server | superagnt_ (hosted) | |
|---|---|---|
| Google credentials | Your own Google Cloud project, plus an OAuth client file or a service-account key | Managed Google OAuth. You click Connect once. |
| Where it runs | A local process by default | A hosted endpoint, the same URL in every client |
| Risky writes | Usually off behind an environment flag | Hosted agents stop for approval before any write. From your own client, its tool approval decides. |
| Other data in the same server | Search Console only | SERP, keywords, backlinks, page audits, AI visibility and a Postgres database |
A self-hosted server is the better pick if you only use a local client and want nothing but Google's API in the loop. Pick superagnt_ when the agent has to act on the numbers in the same session: check the live SERP for a query stuck at position 8, pull the backlinks of the page ranking above you, then write the draft. That data comes from the SEO data tools on the same endpoint.
Why the rows belong in a database, not the chat
The Search Analytics API returns up to 25,000 rows per request, pages with startRow, and stops at 50,000 rows a day per search type. Google says it returns the “top” rows rather than all of them, and rare queries are anonymized out of query tables.
So every Search Console MCP server, this one included, sees a sample. Two rules follow. Never sum query rows to get site totals: take totals from a call with no query dimension. And keep the rows in a table, not in the model's context. The Super SEO skill writes each pull to a seo_gsc_rows table in your workspace database, keyed by day, query, page, country and device, and reads it back with SQL.
What the Super SEO skill does with Search Console data
The Super SEO skill turns the tools into a ranked list of work. Every cycle starts with the numbers.
- Pull the last 28 days against the 28 before, by query and page, with
dataState: "all"so the freshest days count. - Flag decay: pages whose clicks fell while impressions held.
- Find striking distance: queries sitting at positions 5 to 15.
- Decompose every material drop with the table below.
- Inspect money pages with
url_inspection_read, because a page Google has not indexed comes before any content idea. - Score every action on impact × confidence ÷ effort and work down the list.
| Impressions | Position | What it means |
|---|---|---|
| Flat | Flat | CTR moved. Usually a SERP feature landed above you. |
| Down | Flat | Demand moved. Fewer people search for it. |
| Down | Down | You lost the ranking. The only branch worth an alert. |
On superagnt.com the week of October 14, 2026, the top item was a pricing guide with 108 impressions in 28 days at an average position of 9.0 and zero clicks. The day a new model launched, it started showing at position 8 for that model's pricing query without mentioning the model. The fix was a content refresh, not a title tweak.
What it costs
- Search Console calls cost 0 credits, because they run on your own Google credential. How connections bill
- SERP, keyword and backlink calls are billed per call. The SEO API reference lists the price of each.
- Google's quotas apply to every server, hosted or not: 1,200 Search Analytics queries a minute per site and 2,000 URL inspections a day per property.
Plans are covered in plans and billing.
Common questions
- Can I give Claude access to Google Search Console?
- Yes, through an MCP server that wraps the Search Console API. Add https://mcp.superagnt.com/mcp to Claude as a connector, then connect Search Console once in the dashboard. In Claude Code, the superagnt_ plugin adds the Super SEO skill, and the connector brings the tools.
- Does Google have an official Search Console MCP server?
- Not as of September 23, 2026. Google's list of supported MCP products did not include Search Console, and its open-source MCP index listed a Google Analytics server but none for Search Console.
- Is this Search Console MCP read-only?
- No. It holds the read/write webmasters scope so it can submit sitemaps and add properties when you ask. Hosted superagnt_ agents stop before every write by default and wait for a person to approve it. From Claude Code, Codex or Cursor, every tool runs under that client's own tool approval, property removals and sitemap deletes included, so keep approval on for the two delete tools.
- Why don't the numbers match the Search Console dashboard?
- The API returns final data unless you pass dataState: "all", query rows leave out anonymized queries, and query totals aggregate by property while page rows aggregate by page. Match the dates and the data state, and take totals from a call with no query dimension.
- Where does my Search Console data go?
- Each call goes through superagnt_ to Google with your token. Rows you want to keep go into your workspace database when you or the skill write them there. Your data is not used to train foundation models.
Point your client at https://mcp.superagnt.com/mcp, then connect Search Console once from the dashboard.