Google Search Console MCP: give Claude your search data
How to connect an AI assistant to Google Search Console through MCP: what servers exist, setting up a service account, which questions the agent can then answer (queries, pages, positions, indexing), and how we run ours.
Search Console is the one marketing dataset that is free, first-party and true: what Google actually showed your site for, and what people actually clicked. It is also trapped behind a UI that answers one question at a time. An MCP server changes that. You ask "which pages lost clicks after the last update, and which queries did they lose", and the agent runs the comparison.
We run a Search Console MCP server ourselves for our own site and for customers. This guide covers what exists, how to set one up, and what to do with it once connected. Setup for each client is in Claude Code, Cursor and Claude Desktop.
What servers exist
Google has not published an official Search Console server. Several community servers wrap the API; the good ones expose four or five tools that map onto the API's small surface:
- list_sites: the properties the credential can see.
- search_analytics: clicks, impressions, CTR and position, filtered and grouped by query, page, country, device and date.
- compare_periods: the same query for two date ranges, with deltas.
- inspect_url: indexing status, canonical, last crawl, mobile usability for one URL.
- list_sitemaps: submitted sitemaps and their status.
If a server offers much more than that, ask what for. The API does not do much more, and a small server is easier to review.
Because the API is read-only, this is the lowest-risk marketing server you can add. The agent cannot change anything in Search Console.
Setting it up with a service account
The service-account route is what we recommend for teams, because it separates the agent's access from any person's Google login.
- Create a service account in Google Cloud (IAM, Service accounts). No roles needed in the project itself.
- Enable the Search Console API for that Google Cloud project.
- Create a JSON key for the service account and store it somewhere the server can read, outside the repository.
- Add the service account's email as a user on each Search Console property, with Full or Restricted permission. Restricted is enough for analytics; URL inspection needs Full on some setups.
- Point the server at the key, typically through an environment variable, and add it to your client.
For Claude Code, that looks like:
claude mcp add --transport stdio gsc \
-e GSC_SERVICE_ACCOUNT_FILE=/path/to/service-account.json \
-- gsc-mcp
Properties are addressed the way the API addresses them: sc-domain:example.com for domain properties, https://example.com/ for URL-prefix properties. A good server exposes list_sites so the agent can discover them rather than guess.
What to ask once connected
The value is in questions that would take an afternoon of exports in the UI:
- "Which queries drive the most clicks to our pricing page, and what is our average position for each?"
- "Compare the last 28 days with the previous 28. Which pages lost the most clicks, and which queries on those pages dropped?"
- "Which queries do we get impressions for on page two (positions 11 to 20) with more than 500 impressions? Those are the quick wins."
- "Is
/guides/mcpindexed, and what is Google's canonical for it?" - "List every query containing 'mcp' and group by landing page."
Tell the agent about the data lag, and tell it that Search Console samples and anonymises long-tail queries, so totals by query will not match totals by page.
Combining with other servers
Search Console alone answers "what did Google show and what got clicked". Combined with Google Analytics it answers "and what did those visitors do", and with Ahrefs it answers "and what could we rank for that we do not yet". That three-server combination is the core of an SEO agent, and the reason skills exist: a "monthly SEO review" skill that runs the same joins every time.
Running it for a team
The credential in step 3 is a key file that grants read access to all your search data. On a laptop it is one lost machine away from a leak, and it is not attributable to a person. In a team setup the key belongs in a gateway that holds it centrally, exposes the server to approved users, and logs who asked what.
That is how we run ours: the Search Console server sits behind Walma AI Hub inside our own Azure tenant, alongside Google Ads, Ahrefs and the rest, and every agent call is in one log. If you want the same for your marketing team, book a walkthrough.
Frequently asked questions
Is there an official Google Search Console MCP server?+
No. Google publishes official MCP servers for Google Ads and Google Analytics, but not for Search Console as of writing. Community servers wrap the Search Console API and are straightforward because the API is small and read-only.
What can an AI agent do with Search Console through MCP?+
Everything the Search Analytics API allows: clicks, impressions, CTR and position by query, page, country, device and date; period comparisons; URL inspection for indexing status; and the sitemap list. It cannot change anything, which makes it the safest marketing server to start with.
How does a Search Console MCP server authenticate?+
Either OAuth as a user, or with a Google Cloud service account that you add to the Search Console property as a user. The service account route is better for teams: no personal login, a key you can rotate, and read-only access you can revoke.
Does Search Console data through MCP lag?+
Yes, the same as in the UI: search analytics data is typically two to three days behind. The agent should be told this so it does not report yesterday as a traffic collapse.
The same tools, in your EU region, under your control
A 20-minute walkthrough with an engineer. We map it to your tools, your MCP servers and your budget model.