get_capabilities
List every tool this server exposes and report whether your Google connection is currently authenticated.
Parameters
No parameters.
by AKzar1el · TypeScript
Google Search Console MCP for analytics, indexing, sitemaps, and SEO diagnostics.
Google Search Console MCP for analytics, indexing, sitemaps, and SEO diagnostics.
Declared in the repository manifest (server.json). Not verified against a live endpoint.
List every tool this server exposes and report whether your Google connection is currently authenticated.
Parameters
No parameters.
List the Search Console properties the connected Google account can access.
Parameters
No parameters.
Impressions, clicks, CTR, and average position over a date range.
Parameters
No parameters.
Google's URL Inspection report for a single page: index status, last crawl, mobile usability.
Parameters
No parameters.
All sitemaps submitted for a property, with status and warning/error counts.
Parameters
No parameters.
Add a new website property to your Google Search Console account.
Parameters
No parameters.
Remove an existing website property from your Google Search Console account.
Parameters
No parameters.
Submit a new sitemap to your Google Search Console account.
Parameters
No parameters.
Remove a submitted sitemap from your Google Search Console account.
Parameters
No parameters.
Get status and details of a single sitemap submitted to Google Search Console.
Parameters
No parameters.
Find search queries ranking in positions 8-20 with high impressions and low click-through rate.
Parameters
No parameters.
Analyze search analytics to find queries for which multiple pages compete for visibility.
Parameters
No parameters.
Compare two contiguous periods to find pages with the largest search-click declines.
Parameters
No parameters.
Request Google to index or update an eligible URL using the Google Indexing API.
Parameters
No parameters.
List site pages that have received search impressions as a practical proxy for indexed pages.
Parameters
No parameters.
Compare clicks, impressions, CTR, and average position between two date ranges by query, page, country, or device.
Parameters
No parameters.
Generate a plain-language weekly SEO report with movers, top pages, and a recommended action.
Parameters
No parameters.
Every deployed instance exposes the same endpoint shape:
https://<your-worker>.workers.dev/mcp
Claude Code
claude mcp add --transport http gsc https://<your-worker>.workers.dev/mcp
Cursor
ChatGPT — add it as a custom connector; see Connect in your AI client below.
A self-hostable Model Context Protocol (MCP) server for Google Search Console. Connect it to Claude.ai, Cursor, ChatGPT, or any MCP-compatible client and ask your AI assistant about your site's organic search performance — impressions, clicks, top queries, index status, and sitemap health — straight from your own Google account.
It runs on Cloudflare Workers and ships with one-click Google OAuth onboarding: connect the server in your client, sign in with Google once, grant the requested Google Search Console permissions, and you're done. No API keys to copy around and no service-account JSON to manage.
Prefer zero setup? The hosted version — with automatic weekly email digests delivered to your inbox — is at digestseo.com. This repository is the open-source core you can run yourself.
This server exposes 17 tools. Read-only analytics and reporting tools are marked with MCP's readOnlyHint; the write tools below can change Search Console properties, sitemaps, or indexing state.
| Tool | Access | What it does |
|---|---|---|
get_capabilities | Read | List every tool this server exposes and report whether your Google connection is currently authenticated (connected / not_connected). Takes no arguments — a good first call for discovery. |
list_sites | Read | List the Search Console properties the connected Google account can access (siteUrl, permissionLevel). |
query_search_analytics | Read | Impressions, clicks, CTR, and average position over a date range, with dimensions, filters, pagination, and selectable search type. |
inspect_url | Read | Google's URL Inspection report for a single page. |
list_sitemaps / get_sitemap | Read | List submitted sitemaps or retrieve one sitemap's details. |
identify_quick_wins / detect_cannibalization / detect_content_decay | Read | Surface optimization opportunities, competing pages, and declining content. |
list_indexed_pages / compare_performance | Read | Analyze pages receiving impressions and compare two periods. |
weekly_digest | Read | Generate a plain-language seven-day performance report with movers, top pages, and one recommended action. |
add_site / delete_site | Write | Add or remove a Search Console property. |
submit_sitemap / delete_sitemap | Write | Submit or remove a sitemap. |
request_indexing | Write | Request indexing for an eligible URL through the Google Indexing API. |
The server requests Google Search Console and Indexing API scopes. Use a Google account with only the property access you intend to delegate, and review write-tool calls before approving them.
Once connected, ask your assistant things like:
https://example.com/pricing indexed? When was it last crawled?"sc-domain:example.com ending today."Once you've deployed the server (see SETUP.md), connect it by pasting your Worker's /mcp URL into your client:
https://<your-worker>.workers.dev/mcp
/mcp URL. Leave Client ID and Client Secret blank. On first use, Claude opens a Google sign-in flow; grant read access and the connector turns green./mcp URL./mcp URL.Any MCP-compatible client works — they all point at the same /mcp endpoint and share the same OAuth flow.
Self-hosting means bringing your own Google OAuth credentials and Cloudflare account. The full, copy-pasteable walkthrough is in SETUP.md — including an important note about Google's OAuth verification and the 7-day refresh-token limit while your app is unverified.
Quick shape:
git clone https://github.com/<you>/mcp-gsc.git
cd mcp-gsc
npm install
cp wrangler.example.jsonc wrangler.jsonc # then paste in your KV ids
# set GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET / TOKEN_ENCRYPTION_KEY as secrets
npm run deploy
See SETUP.md for every step in detail.
npm install
npm test # typecheck + offline unit tests (what CI runs)
npm run dev # wrangler dev (local)
npm run test:smoke # structural smoke tests against a deployment
Contributions welcome — see CONTRIBUTING.md.
MIT © 2026 DigestSEO.
Built and maintained by Tomi Šeregi, the builder behind digestseo.com — weekly SEO digests for non-technical site owners.
Hosted server - connect over the network, no local install.
https://{mcp_gsc_worker_domain}/mcpclaude_desktop_config.json
{
"mcpServers": {
"mcp-gsc": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://{mcp_gsc_worker_domain}/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.