Google Search Console Audit MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GSC_CLIENT_ID | No | OAuth 2.0 Client ID for Google Search Console API | |
| GSC_CLIENT_SECRET | No | OAuth 2.0 Client Secret for Google Search Console API | |
| GSC_REFRESH_TOKEN | No | OAuth refresh token for Google Search Console API |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gsc_sitesA | List every property the authenticated account can read. Call this first when a property string fails: it returns the exact |
| gsc_site_detailsB | Permission level and property type for one property. |
| gsc_queryA | Query the Search Analytics report: clicks, impressions, CTR, position. This is the general-purpose tool. With no dates it covers the last 28 days ending today (UTC), with data_state=all so today's partial data is included, matching what the Search Console UI shows. Example: site_url="sc-domain:example.com", dimensions="query,page", period="last_28_days", row_limit=100. Returns a |
| gsc_performance_overviewA | Site totals for a period, compared with the preceding one by default. Start here: it answers "is the site up or down" in one call, with the
percentage change on every metric. |
| gsc_compare_periodsA | Join two periods on one dimension and rank the rows by click delta. Answers "what changed" without the model diffing two tables by hand. Rows present in only one period are kept, with zeros on the missing side; the biggest movers in both directions are returned, worst first. The meta counts how many rows gained and how many lost clicks. |
| gsc_quick_winsA | Queries close enough to the top that a push would pay off. Ranked by the clicks each query would gain at |
| gsc_ctr_gapsA | Rows that rank well but are clicked far less than their position implies. The snippet, not the ranking, is the problem, which makes these the
cheapest fixes available. |
| gsc_cannibalizationA | Queries where several pages of the site compete for the same result. Reads one page of up to 25,000 query/page pairs; on a very large property the tail is cut off, and the meta says how many pairs were analysed. Each row lists the competing pages with their own clicks and positions. |
| gsc_traffic_dropsA | Pages that lost clicks against the baseline, each with a likely cause.
|
| gsc_content_decayA | Pages sliding down month after month. A period comparison hides this: a page that halves over six months never shows a sharp drop in any single month-on-month check. One query per month runs in parallel. |
| gsc_alertsA | What changed sharply enough to be worth a message today. Compares the last |
| gsc_portfolioA | Every accessible property at a glance, ranked worst first. One row per property with the current period, the previous one and a health flag: critical below -30% clicks, warning below -15%. Use it to decide which property to look at before running anything else. |
| gsc_indexing_issuesA | Check whether a batch of URLs is indexed, and why not when they are not. Runs the inspections concurrently and returns one row per input URL, in input
order. A URL that fails gets an Quota: 600 inspections per minute and 2,000 per day, per property. Columns: url, verdict (PASS / PARTIAL / FAIL / NEUTRAL), coverage_state, robots_txt_state, indexing_state, page_fetch_state, crawled_as, last_crawl_time, google_canonical, user_canonical, error. The meta carries a verdict summary. |
| gsc_inspect_urlA | Full URL Inspection for one page: index, mobile, rich results and AMP. Use this when one page needs a diagnosis. For an indexed-or-not sweep across
many URLs use Quota: 600 inspections per minute and 2,000 per day, per property. |
| gsc_sitemapsA | List the sitemaps Google knows about for a property, with errors and warnings. Read-only: submitting or deleting a sitemap needs the read-write scope, which this server never requests. Returns one row per sitemap: path, last submitted and downloaded timestamps, pending flag, index flag, warning and error counts, and the submitted / indexed URL counts when Google reports them. |
| gsc_doctorA | Report the server's configuration and whether Search Console answers. Call this first when something fails: it names the auth mode in use, when the token expires, how many properties the account can read, the cache state and the defaults every other tool applies. Secrets are masked. |
| gsc_auditA | Build a complete, self-contained HTML SEO audit for one property. Collects the period and its baseline, top queries and pages, devices, countries, the daily trend, six months of history, sitemaps and an indexing check, then detects issues and builds a prioritised strategy and roadmap. Thresholds adapt to the size of the property, so small sites get a report too. Available in English and Italian. Ask the user for the period if they have not named one: the 28-day default is rarely what a client report wants. Returns a compact JSON summary first (KPIs with deltas, issue counts, top quick wins, roadmap), so the findings can be discussed without reading the HTML, followed by the report path or the document itself. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| gsc_weekly_report | Weekly performance review for one property: what moved and what to do. |
| gsc_indexing_audit | Check what Google has indexed for a property and what is blocking the rest. |
| gsc_content_opportunities | Build a content plan from the queries the site nearly ranks for. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools are clearly distinct (query, inspection, sitemaps, audit), but gsc_sites, gsc_site_details, and gsc_portfolio all operate at the property level and could be confused at first glance. Overall, careful descriptions separate them well.
All tool names share the gsc_ prefix and snake_case, but the pattern mixes noun phrases (gsc_performance_overview, gsc_cannibalization) with verb-like names (gsc_query, gsc_compare_periods). Predictable enough, though not a strict verb_noun schema.
17 tools is slightly above the ideal range but appropriate for a broad Search Console audit workflow. Each tool represents a meaningful capability rather than redundant variants.
The set covers property discovery, analytics reporting, common SEO analysis patterns, indexing checks, and report generation. Minor gaps exist — e.g., no direct URL-specific analytics slicing or sitemap submission — but these are consistent with a read-only audit-oriented server.