Google Search Console MCP: connect GSC to Claude for a content plan
A Search Console MCP server lets Claude query your GSC data. Connect it read-only through a restricted account, then ask for queries ranking 4 to 20.
LLaunchScaler·Published ·7 min read
A Google Search Console MCP server exposes Search Console API calls, such as search analytics queries, URL inspection and sitemap lists, as tools that Claude or another AI assistant can call when you ask it a question. Connect one with the read-only OAuth scope (webmasters.readonly) through a dedicated Google account that has Restricted access to your property, then ask it for the queries you rank 4 to 20 for, the pages losing clicks and the queries where two of your pages compete.
As checked in September 2026, Google publishes no official Search Console MCP server, so every option is a community project. That makes the setup steps below, and reading the server's code first, part of the job.
What does a Search Console MCP server do?
The Model Context Protocol is, in its own documentation's words, "an open-source standard for connecting AI applications to external systems." A Search Console MCP server is a small program that speaks that protocol on one side and calls the Search Console API on the other, so the assistant can request your data as tool calls.
The most useful tool is the Search Analytics query, the same data as the Performance report. Google's API reference lists what it can ask for:
Parameter
What it controls
Values or limits
startDate, endDate
The date range, in Pacific time
Required, YYYY-MM-DD
dimensions
Questions, answered
What people ask about this
01
What is a Google Search Console MCP server?
It is a small program that exposes Search Console API calls, such as search analytics queries, URL inspection and sitemap lists, as tools an AI assistant like Claude can call through the Model Context Protocol. You ask a question in plain language and the assistant calls the tool to fetch the data.
web (default), image, video, news, discover, googleNews
dimensionFilterGroups
Filters on dimensions
Operators include contains, equals, includingRegex (RE2)
rowLimit
Rows per request
1 to 25,000; default 1,000
startRow
Paging offset
Used to fetch rows beyond 25,000
Servers often add tools for URL Inspection and sitemaps as well. Each tool the server exposes is something the assistant can do on your behalf, which is why the list of tools matters as much as the quality of the answers.
Is there an official Google Search Console MCP server?
Not as of September 2026. A search of Google's GitHub organizations that month returned no Search Console MCP server, while Google does publish one for Analytics, in the googleanalytics/google-analytics-mcp repository. The Search Console servers you will find are written and maintained by individuals and companies outside Google.
Community servers can be good, but you are handing them a credential to your Search Console data, so read the code before you run it. A concrete example of why: the most-starred dedicated Search Console server on GitHub in September 2026, AminForou/mcp-gsc (MIT licence), requests the read/write webmasters scope in its code and includes tools that add or delete a property and submit or delete sitemaps. Its maintainers disable the add, delete-site and delete-sitemap tools by default behind a GSC_ALLOW_DESTRUCTIVE setting, but the credential it asks for can still write.
What to check in any server's code before connecting it:
The OAuth scope it requests. Search for webmasters; read-only is https://www.googleapis.com/auth/webmasters.readonly.
The list of tools. Anything that adds, deletes, submits or requests indexing is a write.
Where credentials and tokens are stored on disk, and whether they are ever sent anywhere other than Google.
Network calls other than to Google's APIs.
When the repository was last updated, and whether issues get answers.
How do you connect Search Console to Claude with read-only access?
Use a separate Google account with Restricted permission on your property, create OAuth credentials that request only webmasters.readonly, and register the server in Claude Code or Claude Desktop. If the server hardcodes the read/write scope, change it to the read-only one; write tools will then fail harmlessly.
Step by step:
Create a Google account used only for this connection.
In Search Console, open Settings, then Users and permissions, and add that account as a Restricted user. Google's help says a Restricted user "has simple view rights on most data," which is enough for analysis.
In Google Cloud, create a project and enable the Google Search Console API.
Create OAuth credentials (a Desktop app client) or a service account, following the server's own instructions.
In the server's code or configuration, set the scope to https://www.googleapis.com/auth/webmasters.readonly.
Register the server with your client (below), then sign in with the dedicated account when the browser opens.
Ask a simple question, such as "list my Search Console properties," to confirm it works.
For Claude Code, the documentation's form for a server that runs on your machine is claude mcp add [options] <name> -- <command> [args...]. Pass credentials with --env after the name and before the double dash:
The double dash matters: Claude Code's docs say everything after it "is passed to the server untouched." Servers are stored in local scope unless you add --scope project or --scope user. For Claude Desktop, add the same command and environment variables under mcpServers in claude_desktop_config.json, as the server's README shows.
What questions should you ask it?
Ask questions that map to one Search Analytics query each, so you can check the answer against the Performance report. The most useful for content planning are the queries where you already rank 4 to 20, the pages that lost clicks between two periods, and the queries where several of your pages share impressions.
Question to ask
What the tool call needs
What to do with the answer
Which queries does my site rank 4 to 20 for, with at least 100 impressions in the last 3 months?
dimensions: ["query", "page"], 3-month range, filter on position afterwards
Improve the page, or plan a new article, for each
Which pages lost the most clicks, last 3 months against the previous 3?
Two page queries, one per range, compared
Refresh the biggest losers first
Which queries show impressions for two or more of my pages?
dimensions: ["query", "page"], grouped by query
Merge or differentiate the competing pages
Which queries have many impressions but a low click-through rate?
dimensions: ["query"], sort by impressions
Rewrite titles to answer the query
Which queries appeared this month that were absent last month?
Two query queries, compared
New topics searchers are bringing to you
Position is not a filter the API applies for you; the dimension filters work on country, device, page, query and search appearance. Ask the assistant to fetch the rows and then filter by the position value in the response. Ask it to show the rows it used, so you can check a sample against the Performance report in Search Console, where the same data is one filter away.
Treat the assistant's answers as raw material. Group the striking-distance queries by the question behind them, decide for each group whether an existing page should be improved or a new article written, and order the list by impressions. Then write a brief for each item before any drafting starts.
Ask for the striking-distance rows as a table with query, page, impressions, clicks and position.
Ask it to group queries that share an intent, and name each group.
For each group, check whether an existing page already targets it. If yes, the task is a refresh; if not, a new article.
Order the tasks by total impressions in the group.
Turn the top ten into briefs: the question, the queries, the page to improve or create, and the sources needed.
What are the limits of asking an AI about Search Console data?
The data has limits before the AI adds any of its own. Search Console's help warns that filtering by query or URL "can affect the report totals due to data truncation and the omission of anonymized queries," and each API request returns at most 25,000 rows. An assistant can also misread a column or summarize loosely.
Keep four habits:
Ask for the rows behind every conclusion, not only the conclusion.
Spot-check two or three numbers against the Performance report.
Remember that your query data goes to the AI provider when the assistant reads it; check that your plan's data terms suit that.
Revoke the connection when you stop using it: remove the account from Users and permissions in Search Console and delete the OAuth client.
Get the monthly plan without running the analysis yourself
Running this analysis once is useful; running it every month and writing the articles it suggests is the work. LaunchScaler's content engine plans a month of articles from your own Search Console queries, led by "the searches you already rank for just off page one," with your readiness audit and real keyword data filling in the rest. It writes one article a day, thirty a month, in your voice, and by default every draft waits in your workspace for your review before it publishes to WordPress, Webflow, Ghost, Shopify, Notion, Medium or a signed webhook.
It costs $99/mo per website, with 3 days free before the first charge. Start the engine and your first article is ready on day one.
Is there an official Google Search Console MCP server?
None published by Google turned up in a check of its GitHub organizations in September 2026, although Google does publish an MCP server for Google Analytics. The Search Console servers available are community projects, so review the code before connecting one to your account.
03
Which OAuth scope should a Search Console MCP server use?
https://www.googleapis.com/auth/webmasters.readonly, which Google documents as read-only access. The other scope, https://www.googleapis.com/auth/webmasters, allows reading and writing, which an analysis tool does not need.
04
How do I add a Search Console MCP server to Claude Code?
For a server that runs locally, use claude mcp add with a name for the server, credentials passed with --env, then a double dash and the command that starts the server. Claude Desktop instead reads servers from its claude_desktop_config.json file.
05
How many rows can the Search Console API return?
Up to 25,000 rows per search analytics request, with 1,000 as the default. Larger result sets are paged with the startRow parameter.
Google has no posting-frequency ranking factor. Publish as often as you can review: one to three posts a week for most small sites, daily only with a plan.
Link each new post from two pages Google already indexes, with descriptive anchors and hubs linked to spokes. How many links, where, and finding orphans.