A Google Search Console MCP server lets Claude query your GSC data conversationally: clicks, impressions, positions, pages and queries, without exports or spreadsheets. There is no official Google server for Search Console, but the community field is the most mature of any Google surface. This guide compares the real options and then shows the workflows I actually run on this site, most days, with the finds to prove it.
Which Google Search Console MCP server should you use?
Seven credible open servers exist, and the right one depends on your client and whether you want plain data access or opinionated analysis. All verified live on GitHub or npm as of July 2026:
| Server | Install | Distinct strength |
|---|---|---|
| AminForou/mcp-gsc | uvx (no clone, no venv) | Smoothest zero-install path; broad client support (Claude Desktop, Cursor, Gemini CLI) |
| suganthan-gsc-mcp (npm) | npx | 20 built-in analysis tools (quick wins, cannibalisation, decay) plus guardrail prompts against hallucinated numbers |
| ahonn/mcp-server-gsc | npm | Long-standing, minimal, privacy-first local run |
| acamolese/google-search-console-mcp | local | Read-only OAuth by design plus brandable HTML audit reports |
| ncosentino/google-search-console-mcp | local | Deep row limits (up to 50,000 rows per query) for big-site pulls |
| saurabhsharma2u/search-console-mcp | local | GSC, Bing Webmaster and GA4 behind ONE tool set, with the maths done server-side |
| garethcull/search-console-mcp | Flask, self-host | Deployable to Cloud Run for team or agency infrastructure |
My picks: uvx users start with AminForou's for the frictionless install; analysis-first users start with Suganthan's for the built-in tool set; agencies look at the Flask or read-only options for infrastructure and safety. All of them need the same one-time Google authorisation, which is the actual setup step that matters.
How does setup work?
Setup is a one-time Google authorisation plus one config entry, roughly 15 minutes. The shape is identical across servers: create (or reuse) a Google Cloud project, enable the Search Console API, create OAuth credentials, run the server once to complete the browser sign-in, then add it to your MCP client config. Service-account auth is the alternative for agencies: more steps, but tokens do not expire per-user and it suits automation. After that, the server appears in Claude Code as a set of callable tools.
What do you actually DO with it? (the workflows that earn their keep)
The value is not data access, it is that analysis happens where the follow-up questions are. These are real workflows from this site, with what they caught:
- The vanity-metric autopsy. Ask for daily impressions, clicks and position across 90 days, then ask what changed on the spike date. On this site that surfaced a June impression spike (3.6x overnight, position improving from 48 to 21) that added about 96,000 impressions and no clicks: machine-generated operator queries, not demand. The follow-up question ("which queries drove the spike, and what is their CTR?") is exactly the step a dashboard never invites you to take.
- The pre-edit query-profile check. Before touching any title, pull every query the page ranks for. That check stopped me rewriting a tool page title that was quietly holding position 9.75 for its exact-match term and position 3 for a branded variant. The rewrite would have chased a 60-impression keyword and risked both.
- Striking-distance triage with a noise filter. Positions 4 to 10 sorted by impressions, MINUS the junk: filter out anything containing site operators, after: dates, or URL strings. On this site the unfiltered list was 698 rows; the real list was 343. The filter is one sentence in a prompt.
- Cannibalisation checks on demand. "Which queries have two of my pages competing?" caught two pages splitting 107 impressions for one term, and the data picked the survivor (19 positions apart).
How do you stop the model inventing numbers?
Ground every claim in a tool call, and make the model show the pull. Three habits that hold up: ask for the raw rows before the interpretation; never accept a number that did not come back from a tool call in the same conversation; and re-pull anything surprising with an explicit date range, since default windows differ between tools. Some servers ship guardrail prompts for exactly this, and they are worth keeping on. The same discipline applies to the other half of the stack, your Analytics data.
FAQ
Is there an official Google MCP server for Search Console?
No. Google ships an official MCP server for Analytics, but not for Search Console. The GSC field is entirely community-built, which is why comparing the options matters.
Can a Search Console MCP server change my site or my GSC settings?
Only if you grant it write scopes. Several servers are read-only by design, and read-only is the right default for analysis work. Check the OAuth scopes on the consent screen before approving.
Does this work with Claude Code specifically?
Yes. Claude Code supports MCP servers natively via its config, and every server in the table above speaks the same protocol. The same config also works in Claude Desktop and Cursor.
How much Search Console history can I query?
Whatever the GSC API holds, which is 16 months. For longer memory, schedule exports, or pair the server with a warehouse; the MCP layer does not extend Google's retention.
Sources
- AminForou/mcp-gsc: https://github.com/AminForou/mcp-gsc
- Suganthan Mohanadasan, GSC MCP setup guide: https://suganthan.com/blog/google-search-console-mcp-server/
- ahonn/mcp-server-gsc: https://github.com/ahonn/mcp-server-gsc
- acamolese/google-search-console-mcp: https://github.com/acamolese/google-search-console-mcp
- ncosentino/google-search-console-mcp: https://github.com/ncosentino/google-search-console-mcp
- saurabhsharma2u/search-console-mcp: https://github.com/saurabhsharma2u/search-console-mcp
- garethcull/search-console-mcp: https://github.com/garethcull/search-console-mcp
Soaring Above Search
Weekly AI search insights from the front line. One newsletter. Six sections. Everything that actually moved this week, with a practitioner's take.