gsc-mcp-server
README.md
# gsc-mcp-server — a free, open-source Google Search Console MCP server for Claude
**gsc-mcp-server** is a free, open-source **Google Search Console MCP server**
that lets you query your real Search Console data — search performance,
sitemaps, URL indexing status — directly from a **Claude** chat. It's a
local **Claude Desktop extension** (a `.mcpb` install, no cloud middleman),
built from scratch on first-party SDKs only: Anthropic's own
[`@modelcontextprotocol/sdk`](https://github.com/modelcontextprotocol) and
Google's own `googleapis` client. No third-party MCP wrapper packages, no
hosted connector sitting between you and your data.
## Is there an official Google Search Console MCP server?
No. As of this writing, **neither Google nor Anthropic publishes an official
Google Search Console MCP connector** for Claude. Several community-built
options exist in Claude's own connector directory, but all of them are
third-party code from unaudited authors, and some are *hosted* connectors —
meaning your Google OAuth grant for Search Console would flow through that
vendor's own servers, not just their code. This project exists to fill that
gap with something inspectable: original code, small enough to read end to
end, that only ever talks to Google's API from your own machine.
## What this Google Search Console MCP server does
Four read-only tools, usable directly from a Claude Desktop chat once
installed, covering everything the Search Console API actually exposes:
| Tool | What it does |
|---|---|
| `list_sites` | Lists the Search Console properties your Google account can access |
| `list_sitemaps` | Lists submitted sitemaps and their status for a property |
| `search_analytics_query` | Clicks, impressions, CTR, and position — by query, page, country, device, or date |
| `inspect_url` | Index status, canonical URL, and mobile usability for one exact page |
Typical things you can ask Claude once this is connected:
- *"List my Search Console sites."*
- *"Show me search analytics for example.com over the last 28 days, broken down by query."*
- *"Which sitemaps are submitted for this property, and are any of them erroring?"*
- *"Inspect this URL and tell me its index status."*
## An important limitation, read this first
Google's Search Console API does **not** expose the "Pages" indexing-issue
report (Not Found, Soft 404, Crawled – currently not indexed, Excluded by
noindex, etc.) — that report has never had a public API and is UI/export-only.
No Google Search Console MCP server, first-party or otherwise, can get around
that. This server covers what the API *does* expose: search performance
data, sitemap status, and single-URL inspection via the four tools above. If
what you actually need is the bulk Pages report, export it from the GSC UI
instead — there's no API path to it, for this project or any other.
## Setup: connect Google Search Console to Claude Desktop
See [`SETUP.md`](./SETUP.md) for the full, beginner-friendly walkthrough —
Google Cloud Console project creation, OAuth consent screen, credentials,
local authorization, and installing this as a Claude Desktop extension.
Windows and macOS/Linux commands are given side by side wherever they
actually differ.
The last step is a direct download, no build step required: grab
[`releases/gsc-mcp-server-v0.1.0.mcpb`](./releases/gsc-mcp-server-v0.1.0.mcpb)
and install it through Claude Desktop's **Settings → Extensions → Advanced
settings → Install Extension…** — the whole setup is free, with no credit
card required at any step.
## Why a Google Search Console MCP server built from scratch, not a fork
A handful of other community `google-search-console-mcp` projects exist.
This one is deliberately **not** a fork or wrapper of any of them — it's
original code built directly on first-party SDKs, for two reasons:
1. **Trust.** Something that holds OAuth access to real Search Console data
should be small enough to actually read end to end, not a black box you
have to take on faith.
2. **Dependency surface.** Fewer, first-party-only dependencies (Anthropic's
own MCP SDK, Google's own API client) means fewer places for a supply-chain
problem to hide.
## Scope and security posture
- OAuth scope is `webmasters.readonly` only — this MCP server cannot change
anything in your Search Console account, submit sitemaps, or modify
settings. It can only read.
- Runs **locally** as a Claude Desktop extension — there is no hosted backend,
no cloud middleman, and no third party ever sees your Search Console data.
- The OAuth client secret and the saved refresh token both live outside this
repository (`~/.gsc-mcp-server/` by default) and are never committed —
see `.gitignore`.
- Dependencies are limited to Anthropic's own MCP SDK, Google's own API
client, and `zod` (used by the MCP SDK itself for input validation).
## Frequently asked questions
**Is this an official Google or Anthropic product?**
No — it's an independent, open-source project. Neither Google nor Anthropic
currently ships an official Google Search Console MCP server.
**Does it cost anything to set up?**
No. Creating the Google Cloud project, configuring OAuth, and normal API
usage are all free, with no credit card required. See [`SETUP.md`](./SETUP.md)
for the full breakdown of why.
**Can I use this with a Domain property, not just a URL-prefix property?**
Yes — pass the site URL as it appears in Search Console, e.g.
`sc-domain:example.com` for a Domain property.
**Does this work with claude.ai in a browser, or only Claude Desktop?**
Only Claude Desktop today. It runs as a local process over stdio, which
claude.ai's web connector UI doesn't support (that requires a remote HTTPS
server) — see [`SETUP.md`](./SETUP.md) for the full explanation.
**Is my Search Console data sent to this project, or to you?**
No. This server runs entirely on your own machine and talks directly to
Google's API with your own OAuth credentials. Nothing is collected,
logged, or sent anywhere by this project.
## License
MIT — see [`LICENSE`](./LICENSE).
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues