Google Search Console MCP Server: Setup Guide (2026)
Connect Google Search Console to Claude Code, Codex or Cursor with an MCP server: the options, setup steps, API limits and what each one can change.

Updated October 20, 2026. Rillow publishes this guide and makes an SEO MCP server that reads Search Console too. We say below what it covers and what it doesn't. There are no affiliate links here, and every price was checked on the provider's own page that day.
A Google Search Console MCP server lets your AI agent read your site's Search Console data: clicks, impressions, average position, the queries people searched and the pages they landed on. Some servers can also inspect URLs and submit sitemaps. Once it is connected, you can ask Claude Code, Codex or Cursor "which pages lost clicks this month?" and get an answer from your own data instead of a guess.
Google doesn't publish one, so you choose between a free open source server you run on your computer and a hosted service you sign in to. This guide covers the options, the setup in each agent, the Search Console API limits every server shares, and what to ask once it works.
Is there an official Google Search Console MCP server?
No. Google publishes official MCP servers for Google Analytics, Google Ads, Workspace, Maps and many Google Cloud products, but Search Console isn't on Google Cloud's list of supported products or in Google's MCP repository.
Every Search Console MCP server is a community or third-party build on top of the Search Console API. That has a useful side effect: the numbers are the same whichever server you pick, because they all come from the same API. What differs is the setup, which parts of the API each server uses, and whether it can change anything in your Search Console account.
What a Search Console MCP server can do
The Search Console API has four parts, and a server turns some or all of them into tools your agent can call:
- Search analytics: clicks, impressions, click-through rate and average position, grouped by query, page, country, device or date. This is the Performance report, and it is what most people want.
- URL inspection: whether Google has indexed one URL, when it last crawled it, and the canonical it picked.
- Sitemaps: list, submit and delete sitemaps.
- Sites: list, add and remove properties in your account.
The first two only read. Sitemaps and sites can change your account, so check which of those tools a server turns on before you connect it.
Your options
| Option | Runs on | Price | Can it change your Search Console? | Needs your own Google Cloud project |
|---|---|---|---|---|
| mcp-gsc | Your computer (Python) | Free, open source | Submits sitemaps. Adding or deleting sites and deleting sitemaps stay off unless you turn them on | Yes |
| suganthan-gsc-mcp | Your computer (Node) | Free, open source | Submits sitemaps, and URLs through Google's Indexing API | Yes |
| OpenSEO | Hosted, or your own server | $10 a month, free to self-host | No, read-only | No (yes if you self-host) |
| GSC Wizard | Hosted | 7-day trial, then from €17 a month | Reads Search Console, and can send URLs to IndexNow | No |
| Composio | Hosted | Free tier, then $29 a month | Yes: adds and deletes sites, submits sitemaps | No |
| Rillow (ours) | Hosted | Free start with 30 credits, then $19 a month. Reading Search Console uses no credits | No, read-only | No |
Marketing data platforms offer Search Console over MCP too, usually next to ads and analytics data: Windsor.ai has a free plan for one data source, Markifact starts at $79 a month and Ryze AI at $129 a month.
Which one fits:
- You want everything the API offers and don't mind a short setup in Google Cloud: mcp-gsc. It is the best-known open source server, with about 1,300 stars on GitHub in October 2026, URL inspection and sitemap tools, and the risky tools off by default.
- You don't want to touch Google Cloud: a hosted server. Of the ones built only for Search Console, OpenSEO costs the least.
- You want Search Console next to keyword research, competitors and daily rank checks: an SEO MCP server like Rillow, covered in its own section below.
Before you start
Every option needs the same two things in Search Console itself:
- A verified property that your Google account can open as an owner or a full user.
- The property's exact name. A Domain property is written
sc-domain:example.com. A URL-prefix property is the full address with its trailing slash, likehttps://www.example.com/. If your agent says it can't find the site, this is usually why.
A server that runs on your computer also needs a Google Cloud project, because Google only hands Search Console data to an app it knows. That takes these steps in the Google Cloud console:
- Create a project.
- Under APIs and services, enable the Google Search Console API.
- Set up the OAuth consent screen, and add your own Google account as a test user.
- Create an OAuth client ID of type Desktop app and download its JSON file. Keep it somewhere safe, outside any repository.
Instead of the OAuth client you can create a service account, download its JSON key, and add the service account's email in Search Console under Settings, Users and permissions. That suits a server that runs unattended, since there is no browser sign-in.
Set up mcp-gsc in Claude Code, Codex and Cursor
mcp-gsc runs through uv, so install that first:
curl -LsSf https://astral.sh/uv/install.sh | sh
Then add the server to your agent, pointing GSC_OAUTH_CLIENT_SECRETS_FILE at the JSON file from Google Cloud. Use full paths, not ~.
Claude Code
The mcp-gsc README doesn't list a Claude Code command, so this uses Claude Code's standard command for local servers:
claude mcp add --transport stdio --scope user --env GSC_OAUTH_CLIENT_SECRETS_FILE=/Users/you/keys/client_secrets.json gsc -- uvx mcp-search-console
--scope user makes it available in every project. Leave it out to add it to the current folder only.
Codex
codex mcp add gsc --env GSC_OAUTH_CLIENT_SECRETS_FILE=/Users/you/keys/client_secrets.json -- uvx mcp-search-console
This writes an [mcp_servers.gsc] entry to ~/.codex/config.toml, which you can also edit by hand (Codex MCP docs).
Cursor
Cursor has no add command. Put the server in ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one (Cursor MCP docs). Cursor is a desktop app that may not see your terminal's PATH, so give the full path to uvx, which which uvx prints:
{
"mcpServers": {
"gsc": {
"command": "/Users/you/.local/bin/uvx",
"args": ["mcp-search-console"],
"env": {
"GSC_OAUTH_CLIENT_SECRETS_FILE": "/Users/you/keys/client_secrets.json"
}
}
}
}
First run
Start the agent and ask it to "list my Search Console properties". The first call opens a browser window to sign in with Google, and the server saves the token for later calls. If the property you expect is missing, check that the Google account you signed in with can open it in Search Console.
Two settings are worth knowing:
GSC_ALLOW_DESTRUCTIVEis off by default, which keeps the tools that add sites, delete sites and delete sitemaps switched off. Leave it off unless you need them.GSC_DATA_STATEisallby default, which includes the last few days that Google may still change. Set it tofinalfor settled numbers that run 2 to 3 days behind.
Set up a hosted server
A hosted server has a web address instead of a command, and you sign in with Google in the browser. OpenSEO's address is used here as the example. Swap in the address your provider gives you.
- Claude Code:
claude mcp add --transport http openseo https://app.openseo.so/mcp, then run/mcpin Claude Code and sign in. - Codex:
codex mcp add openseo --url https://app.openseo.so/mcp, thencodex mcp login openseoif the browser doesn't open on its own. - Cursor: add
"openseo": { "url": "https://app.openseo.so/mcp" }insidemcpServersin~/.cursor/mcp.json, then sign in from Cursor's MCP settings. - claude.ai: Settings, Connectors, Add custom connector, then paste the address. Connectors take only hosted servers, so this is the way to use Search Console data in a normal Claude chat.
Search Console API limits every server shares
Every server reads the same API, so these limits apply whichever one you pick:
- Data is 2 to 3 days behind. Google says data "is typically available after 2-3 days" (Google). Servers that ask for fresh data get the newer days, which can still change.
- 16 months of history. Search Console keeps the last 16 months. For anything older, you need your own copy, such as Search Console's bulk export to BigQuery.
- Top rows, not every row. One request returns up to 25,000 rows (Google), and the API gives at most 50,000 rows a day per search type, sorted by clicks (Google). On a large site the rarest queries never show up.
- Some queries are hidden. Google leaves out some queries "to protect user privacy" (Search Console Help), and grouping by query or page "may drop some data". So the clicks for all your queries added up are lower than the site total. That is normal, not a bug in your server.
- URL inspection is rationed. 2,000 inspections a day and 600 a minute per site (Google). Inspecting a whole sitemap at once will run out.
- Positions are averages. Search Console's position is an average across every search that showed your page, in every country and on every device. It is not the position you see when you search yourself.
What to ask your agent
These prompts work with any server that has search analytics. The ones that need URL inspection or both page and query at once say so.
- "Compare the last 28 days with the 28 before. Which pages lost the most clicks, and which queries did they lose them on?"
- "Find queries where my average position is between 8 and 20 and impressions are over 100. For each one, tell me which page ranks and what it is missing."
- "Which queries have the most impressions and a click-through rate under 1%? Suggest a better title and meta description for the page that ranks."
- "Find queries where two or more of my pages get impressions, and tell me which page should own each one." (Needs page and query in one report.)
- "Inspect the five pages I published last week and tell me which ones Google hasn't indexed yet, and why." (Needs URL inspection.)
Then let the agent act on the answer in your site's code: rewrite the title, add the missing section, or link the weak page from a stronger one. That is the step a dashboard can't do.
Where Rillow fits, and where it doesn't
Rillow is an SEO MCP server for Claude Code, claude.ai, Codex, Cursor and Gemini CLI. You connect Search Console and Google Analytics once in Rillow's settings by signing in with Google. There is no Google Cloud project, and Rillow asks Google for read-only access.
What your agent gets from Search Console through Rillow:
- get_performance compares the site's clicks, impressions and average position over the last 28 days with the 28 before, next to Google Analytics sessions and users. It also lists every post your agent marked published in Rillow, with its Google position and clicks.
- get_performance with queries returns the queries close to page one: average position 4 to 20 and at least 20 impressions in 28 days, most impressions first. These are usually the quickest wins.
- get_brief with refresh adds the Search Console queries that contain a post's keyword when your agent reworks that post.
All three are free and use no credits. Rillow also checks each published post's Google position for its keyword every day, a single check rather than an average, and shows whether Google's AI answer cites the post.
What it doesn't do: URL inspection, sitemaps, adding or removing properties, or reports on any date range you choose. Its copy of your data updates when you open the Traffic page in Rillow or press Refresh there. If you need those, run mcp-gsc next to Rillow. Your agent can use both at once.
The rest of Rillow is keyword research, competitors, a content plan, live Google results and post briefs, which is where it overlaps with tools like Ahrefs, Semrush and Moz. It starts free with 30 credits. Solo is $19 a month for one site and Pro is $49 a month for five (pricing).
Frequently asked questions
No. Google publishes official MCP servers for Google Analytics, Google Ads, Workspace, Maps and Google Cloud products, but not for Search Console. Every Search Console MCP server is built by the community or a third party on top of the Search Console API.
The open source servers, mcp-gsc and suganthan-gsc-mcp, are free, and Google doesn't charge for the Search Console API. You pay only for the AI agent you already use. Hosted servers save you the Google Cloud setup and range from free tiers to $10 a month and up.
It can't change your search data, which is read-only in the API. Some servers can submit or delete sitemaps and add or remove properties. mcp-gsc keeps the delete tools off unless you set GSC_ALLOW_DESTRUCTIVE, and read-only servers such as OpenSEO and Rillow ask Google only for read access.
In Claude Code, Codex or Cursor, add a local server like mcp-gsc or a hosted one with the commands above. In claude.ai, open Settings, Connectors, Add custom connector and paste a hosted server's address. claude.ai can't run a server on your computer, but the Claude desktop app can, with the config in the mcp-gsc README.
Your Google Cloud app is still in Testing. Google issues sign-ins for Testing apps that expire after 7 days (Google). Publish the app on the OAuth consent screen, or use a service account instead.
Usually it is the date range, the property (a Domain property includes every subdomain and both http and https) or hidden queries. The API leaves out some private queries and keeps only the top rows on large sites, so query totals come out lower than the site total.
Final data is typically 2 to 3 days behind. Servers that request fresh data also return the latest days, which Google may still change.
Yes. Google publishes an official, experimental Google Analytics MCP server, and Rillow returns Analytics sessions and users next to Search Console in get_performance.
Do your SEO from your AI agent
Your agent gets keyword data, live Google results and your rankings for every page it writes.
Rillow connects Claude Code, Codex, Cursor and claude.ai to your site's SEO data. Free to start with 30 credits.