Index of every page on this site: llms.txt
Skip to content

Google Search Console MCP server

gscdump is a hosted MCP server over your synced Search Console record, kept past Google's 16-month window. Connect with OAuth, then ask ChatGPT or Claude about the whole record.

Plugins → Add → Create MCP App
Name
gscdump

Server URL
https://gscdump.com/mcp

Authentication
OAuth
Needs developer mode on the web. Tick the risk checkbox, then Create.

What your agent can ask

16 tools

The seven analytics reads answer from your preserved record, sitemap listings come from the synced sitemap tables, indexing reads come from stored URL Inspection verdicts, and URL inspection calls Google at request time. Each tool publishes its input schema, so the client picks the matching call from a plain question.

list-sites
Your connected sites, each with sync status and the oldest and newest dates synced.
list-sitemaps
Sitemaps for a site: URL counts, errors, warnings, and last-download timestamps.
get-sitemap-submission
The sitemap gscdump would submit to Google for a site, and what blocks it: write access, Owner or Full permission, or no sitemap found.
list-bing-sites
Bing state per site: collecting, DNS record needed, ready to link, or Bing authorization needed. Bing is in private preview.
get-analytics
Totals for clicks, impressions, CTR, and position over a date range, with an optional daily series and an optional trajectory: the shape of the whole record, such as a launch spike followed by a cliff.
get-keywords
Aggregated performance per query.
get-keyword-details
One Search Console query in depth: totals, daily series, and pages that appeared for it.
get-pages
Aggregated performance per URL.
get-page-details
One page in depth: totals, daily series, and Search Console queries that showed it.
get-countries
Performance broken down by country.
get-devices
Performance broken down by device: mobile, desktop, tablet.
inspect-url
Google's indexed snapshot of a URL: verdict, coverage state, canonical signals, last crawl time. Counts against Google's 2,000 inspections per site per day.
get-indexing
Stored URL Inspection verdicts per day, counted by coverage state: unknown to Google, Discovered, not indexed; Crawled, not indexed; and indexed. Says when gscdump counted them and how old they are.
list-watched-urls
Watched URLs and their dated inspection history: the coverage state each weekly inspection recorded.
run-report
Composed analysis reports that fan out across multiple analyzers. Cached by input hash, regenerated on demand.
gsc-discover-hourly
Hourly Discover clicks, impressions, and position per URL for one calendar day, on sites with hourly Discover sync enabled.

Hosted and local

Hosted

The platform

gscdump.com runs the sync and holds the record in open formats. OAuth links each MCP client to your gscdump account. Legacy clients can still send an API key.

https://gscdump.com/mcp

Local

The local twin

The CLI writes exports to your disk. In Local mode, its stdio MCP server calls Google with your own credentials. The same CLI runs in Hosted mode: --mode hosted reads your platform record and never calls Google.

npx @gscdump/cli init
npx @gscdump/cli mcp --mode local

ChatGPT, Claude, and Claude Code can use OAuth. Cursor and Codex can use the API key fallback. The local server uses stdio.

Compared with self-hosted Search Console MCP servers

Most Search Console MCP servers run on your machine and pass each question to the Search Console API. That works for recent data. The differences show up in what the answer can reach.

History
A live API proxy reaches only the 16 months Google keeps. gscdump answers from its synced record, which keeps the days it has synced after Google deletes them.
Setup
A self-hosted server usually needs its own Google Cloud credentials and a process on each machine. gscdump is one URL with OAuth, and the same record reaches every client.
Scope
Every tool call re-checks your access per user and per Site. A Site covers the exact host you registered, so totals can sit below a broader Search Console property.

Prefer to run it yourself? The CLI above has a local MCP server that queries live Google data with your own authentication.

What the agent can trust

An agent should be able to tell, from the response alone, whether to trust it. The server states what it knows:

meta.dataRange
Every analytics answer carries the site's sync status and the synced date window the numbers cover.
gscdump.com/retry
Every failed call states whether an identical retry can succeed, as a structured hint in the result's _meta and in prose. Transient backpressure comes with a wait in seconds; a broken query says so plainly instead of inviting a retry loop.
lastDownloaded
Sitemap rows carry their download timestamps, error and warning counts, and the last error, so stale reads as stale.
lastCrawlTime
Google reports the last successful visit by its primary crawler. This timestamp differs from when gscdump saved the inspection.

Count time ships today on the sitemap and inspection surfaces above; analytics answers carry their synced window instead. A Site covers the exact registered host, so its analytics can exclude traffic shown by a broader Search Console property. Apply a matching host filter when comparing totals. Source limits and sync coverage can also cause differences.

Questions

Give your agent the record.

Connect your Sites, add the endpoint to your client, then sign in to gscdump. Free during beta.