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.
Name gscdump Server URL https://gscdump.com/mcp Authentication OAuth
What your agent can ask
16 toolsThe 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.
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
_metaand 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.