AI & LLMs
How to Connect Claude to Google Search Console with MCP
Google doesn’t publish an MCP server for Search Console, so connecting Claude to it means using a community server. We use mcp-gsc, an open-source server that runs on your computer with uvx and signs in with your own Google OAuth client. This guide covers how to check a community server before you trust it, how to set up mcp-gsc in Claude Desktop, and what it can change.
Key facts (as of October 6, 2026)
- Google’s official list of MCP servers, google/mcp, includes Google Analytics but no Search Console server. The Search Console API overview doesn’t mention MCP.
- mcp-gsc is a community project under the MIT License. It is not made by Google (mcp-gsc README).
- mcp-gsc requests the read/write
webmastersscope, not the read-only scope (gsc_server.py).- It can submit sitemaps by default. Adding or deleting properties and deleting sitemaps stay disabled unless you set
GSC_ALLOW_DESTRUCTIVEtotrue(mcp-gsc README).- The Search Analytics API allows 1,200 queries per minute per site and per user (Search Console API limits).
Is there an official Google MCP server for Search Console?
No, not as of October 6, 2026. Here is what we checked:
- Google’s MCP index. The google/mcp repository lists Google’s remote and open-source MCP servers. Its open-source list includes Google Analytics. It has no Search Console entry.
- Search Console API docs. The API overview describes the API: “view, add, or remove properties and sitemaps, run advanced queries for Google Search results data… and test individual pages.” It doesn’t mention MCP.
- Search results. We searched for an announcement from Google about a Search Console MCP server and found only community projects.
That could change. Check the google/mcp list again before you start. If Google releases a server, prefer it.
How do you evaluate a community MCP server?
A Search Console MCP server holds a Google token for your account. Before you install one, spend 15 minutes on these checks.
| Check | What to look for | mcp-gsc, when we checked |
|---|---|---|
| Source code | Is it open? Can you read the main file? | Open source, mostly one Python file, gsc_server.py |
| Scopes | Read-only (webmasters.readonly) or read/write (webmasters)? | Read/write webmasters |
| Write tools | Which tools change anything? Are risky ones off by default? | Sitemap submit on; add/delete site and delete sitemap off by default |
| Where data goes | Does the code call anything besides Google’s APIs? | We found only Google API client calls in gsc_server.py |
| Token storage | Where is your login token saved? | A token.json in your user config folder |
| Maintenance | Recent releases, open issues, changelog | v0.4.1 on PyPI, September 2026; changelog in README |
| License | Can you use and modify it? | MIT |
The two scopes are defined in Google’s docs. webmasters is “Read/write access.” webmasters.readonly is “Read-only access” (Search Console API: Authorizing requests).
A few more habits help:
- Pin what you reviewed.
uvxfetches the package from PyPI. A new release may differ from the code you read. Re-check the changelog when the version changes. - Separate the Cloud project. Create a Google Cloud project just for this, so you can delete it and revoke everything in one step.
- Know the hosted upsell. The mcp-gsc README promotes a separate paid hosted version. This guide covers only the open-source local server.
Anthropic’s own advice applies too: “Verify you trust each server before connecting it” (Claude Code docs).
Step 1: Create OAuth credentials in Google Cloud
These steps follow the mcp-gsc README’s OAuth option (mcp-gsc README).
- Open the Google Cloud console and create or select a project.
- Enable the Google Search Console API for that project.
- Go to APIs & Services > Credentials > Create Credentials > OAuth client ID.
- Configure the OAuth consent screen if asked. Choose Desktop app and click Create.
- Download the JSON file and save it somewhere permanent, such as
C:\Users\YOUR_NAME\keys\gsc-client-secrets.json.
Keep this file private. Don’t put it in a synced or shared folder.
The README also documents a service account option for automation. That needs a downloaded key, which Google calls “a security risk” (Google Cloud docs). For one person on one computer, OAuth is simpler.
Step 2: Install uv
The README recommends uvx, which “downloads and runs the server automatically.” On Windows, install uv with the official installer (uv docs):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Then find the full path to uvx in PowerShell. The README gives this command and notes the path is usually C:\Users\YOUR_NAME\.local\bin\uvx.exe:
Get-Command uvx | Select-Object -ExpandProperty Source
You need the full path because desktop apps don’t read your shell settings. A spawn uvx ENOENT error means Claude Desktop couldn’t find uvx (mcp-gsc README).
Step 3: Add mcp-gsc to Claude Desktop
Open Claude Desktop’s config from Settings > Developer > Edit Config. On Windows it lives at %APPDATA%\Claude\claude_desktop_config.json (Model Context Protocol docs).
Add the server. This is the README’s OAuth example with Windows placeholder paths:
{
"mcpServers": {
"gscServer": {
"command": "C:\\Users\\YOUR_NAME\\.local\\bin\\uvx.exe",
"args": ["mcp-search-console"],
"env": {
"GSC_OAUTH_CLIENT_SECRETS_FILE": "C:\\Users\\YOUR_NAME\\keys\\gsc-client-secrets.json"
}
}
}
}
Note that the PyPI package is called mcp-search-console, while the GitHub repo is mcp-gsc. If you already have other servers in the file, add gscServer inside the existing mcpServers object.
Fully quit Claude Desktop and reopen it. The README says that on first use, a browser window opens for Google sign-in. After that, the token is cached. Sign in with the Google account that has access to your Search Console properties.
The README notes this local server works in the Claude Desktop app, not in the claude.ai website.
Step 4: Test the connection
The README suggests two test prompts (mcp-gsc README):
- “List my GSC properties”
- “Call get_capabilities” (shows all tools and the current auth status)
If properties appear, the setup works.
What can you analyze with it?
The README lists tools for search analytics, URL inspection, and sitemaps. Some questions to try, with your own property in place of your-site.com:
Queries and pages
- “Show the top 20 queries for
https://your-site.com/in the last 28 days with clicks, impressions, CTR, and position.” - “Find queries with high impressions and an average position between 11 and 20.”
- “Which search terms bring traffic to
https://your-site.com/pricing/?” - “Compare the last 28 days with the previous 28 days. Which pages lost the most clicks?”
- “Show mobile clicks from the United States only, by page.”
Indexing
- “Inspect
https://your-site.com/new-post/. Is it indexed, and when was it last crawled?” - “Check these five URLs for indexing problems.” The batch tools take up to 10 URLs at a time.
Sitemaps
- “List the sitemaps for this property and show any errors or warnings.”
For Domain properties, use the sc-domain:your-site.com format. That’s how the server’s tool descriptions refer to them.
What can mcp-gsc change?
This is the part to read before you use it. The server’s write abilities, per its README and code:
| Action | Default | Tool |
|---|---|---|
| Submit or resubmit a sitemap | Enabled | manage_sitemaps (submit), submit_sitemap |
| Delete a sitemap | Disabled | delete_sitemap, or manage_sitemaps (delete) |
| Add a property | Disabled | add_site |
| Remove a property | Disabled | delete_site |
The disabled actions turn on only when you add "GSC_ALLOW_DESTRUCTIVE": "true" to the env block (mcp-gsc README). We leave it off. In the code, the delete path in manage_sitemaps calls the same guarded function, so the setting covers both (gsc_server.py).
Sitemap submission is low risk but not zero. Google calls a sitemap “merely a hint” (Google Search Central), but a wrong sitemap URL will still show up in your Sitemaps report. When Claude asks to run a submit tool, check the property and sitemap URL before you approve. Don’t choose “Allow always” for it.
Remember that the token itself has read/write scope. The guard is in the server’s code, not in Google’s permissions.
What can go wrong?
- No tools appear. Check JSON syntax and full paths. On Windows, Claude Desktop logs are in
%APPDATA%\Claude\logs(Model Context Protocol docs). - Python version. The clone install needs Python 3.11 or later and, per the README, fails silently in Claude Desktop on older versions. The uvx method manages Python for you.
- Wrong Google account. Ask Claude to call
reauthenticateto sign in again with a different account. - Numbers differ from the dashboard. By default the server uses
dataState: "all", which matches the Search Console dashboard. SettingGSC_DATA_STATEtofinalreturns only confirmed data, which the README says lags 2 to 3 days. - Quota limits. URL Inspection allows 2,000 queries per day per site. Google notes that queries grouped or filtered by both page and query are the most expensive, and long date ranges cost more (Search Console API limits).
- A dependency breaks. The changelog shows a July 2026 fix after an
mcpSDK release broke fresh installs. If the server stops starting after an update, check the repo’s issues and changelog.
Checklist
- Confirm Google still has no official Search Console server in google/mcp.
- Read
gsc_server.pyand the changelog for the version you’ll run. - Use a dedicated Google Cloud project and a Desktop OAuth client.
- Use the full
uvx.exepath inclaude_desktop_config.json. - Leave
GSC_ALLOW_DESTRUCTIVEunset. - Approve sitemap submissions one at a time, after checking the URL.
Related articles
AI & LLMs
How to Connect Claude to Google Ads with MCP
Set up Google's official Google Ads MCP server in Claude Desktop: Cloud project, API access level, credentials, config file, and safe, read-only use.
AI & LLMs
How to Connect Claude to Google Analytics 4 with MCP
Set up Google's official Analytics MCP server for Claude: enable two APIs, create read-only credentials, add a Claude Desktop config, ask GA4 questions.
AI & LLMs
How to Connect Claude to Meta Ads with MCP
Connect Claude to Meta's official ads MCP server as a custom connector, sign in with Facebook, ask for reports, and keep write actions under control.