Skip to main content
Glama
search-console-mcp

search-console-mcp

by makashibk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CRUX_API_KEYNoGoogle API key enabling core_web_vitals via the Chrome UX Report API.
PAGESPEED_API_KEYNoGoogle API key for pagespeed_audit. Falls back to CRUX_API_KEY.
SEARCH_CONSOLE_MCP_DATA_DIRNoDirectory for the database, log file and cached Google crawler IP ranges. Defaults to %LOCALAPPDATA%\search-console-mcp on Windows or ~/.local/share/search-console-mcp on macOS/Linux.
SEARCH_CONSOLE_MCP_EXPORT_DIRNoDirectory for CSV exports and saved reports. Defaults to ~/Documents/search-console-mcp-exports.
GOOGLE_APPLICATION_CREDENTIALSNoPath to OAuth user credentials or a service-account key. Defaults to gcloud's default application credentials path.
SEARCH_CONSOLE_MCP_QUOTA_PROJECTNoGoogle Cloud project to bill API quota to.
SEARCH_CONSOLE_MCP_INSPECT_DAILY_LIMITNoCap on URL inspections per property per day.2000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Google Search Console tools (local; official Google APIs, live site checks and your own server logs). Accuracy rules: report numbers exactly as returned; never attribute a change to a cause (algorithm update, competitor, seasonality) unless the returned data shows it; say what the data can't tell. Use verify_metric before presenting a key number.

  • Properties: pass 'sc-domain:example.com', a URL-prefix property, or just 'example.com'.

  • Dates are Pacific Time. Comparisons end on the latest complete day; fresher partial days are excluded unless dates are given.

  • Page indexing (no Google API): queue_from_sitemaps / queue_from_performance / queue_urls -> run_inspections or inspection_job (2,000 per property per day) -> indexing_report / list_inspected_urls / indexing_changes; diagnose_url explains one URL.

  • Crawl stats (no Google API): import_access_logs (server logs) -> crawl_stats.

  • Not available through any API: Request indexing, Removals, Links, Manual actions, Security issues, Achievements, Settings, Google's own robots.txt history. Core Web Vitals: core_web_vitals (CrUX) and pagespeed_audit. HTTPS: check_https.

  • Read-only: nothing here can change Search Console (no sitemap submit/delete, no Request indexing, no property changes).

  • Large tables: export_csv=true writes a CSV to Documents/search-console-mcp-exports.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
server_statusB

Server health: credentials, local database, inspection queues, background jobs, robots.txt watches, today's inspection quota use.

list_propertiesA

All Search Console properties this Google account can access, with permission level.

property_overviewA

One-call overview: web + Discover performance vs previous period, sitemaps health, local indexing summary, robots.txt status.

performance_queryB

Search performance (clicks, impressions, CTR, position) for any dimension combination, search type, date range and filters.

performance_overviewB

Totals vs the previous equal-length period, daily series, top queries and pages. Use search_type='discover' for Discover.

compare_periodsB

Winners and losers between two periods (default: previous equal-length period), with new and lost queries/pages.

find_opportunitiesB

Quick wins: striking-distance query/page pairs, top positions with low CTR (vs this site's own CTR by position), and content gaps (demand, but ranking below 20).

find_cannibalizationA

Queries where 2+ of your URLs split impressions. URL variants (www/non-www, http/https, slash, parameters) are reported separately from genuinely competing pages.

traffic_dropsA

Pages/queries that lost clicks vs the previous period, each diagnosed: ranking loss, CTR drop, demand drop or disappeared, with the click loss split exactly into fewer impressions vs lower CTR.

content_decayB

Pages (or queries) whose clicks fell in every one of N consecutive periods: slow decay, not a one-off dip.

check_alertsB

Severity-rated alerts: site-wide click drop, query position drops (incl. falling off page one), CTR collapses at the same position, page click losses, pages that vanished.

section_performanceA

Performance per site section (URL folder or custom prefixes) with share of clicks and change vs the previous period. Domain properties are split per host.

query_segmentsC

Queries split into branded vs non-branded, questions (EN/NL/SV/PT/FR/DE), query length, results page, and chat-style fragments.

multi_site_dashboardB

Health check across many properties at once: clicks, impressions, CTR, position vs previous period, flagged dropping/growing.

weekly_reportB

Full report in one call (performance, alerts, drops, quick wins, content gaps, decay, cannibalisation, sitemaps, indexing, robots.txt), saved as a Markdown file.

verify_metricB

Re-query Google to confirm a number before presenting it (e.g. 'this page got 500 clicks').

list_sitemapsC

Sitemaps submitted for the property: last submitted/downloaded, pending, errors, warnings, submitted URL counts by type.

get_sitemapB

Details of one submitted sitemap.

inspect_urlC

Live URL Inspection result from Google (index status, coverage reason, canonicals, last crawl, robots, sitemaps, referring URLs, rich results). Stored locally.

diagnose_urlA

Why is this URL (not) indexed? Combines Google's inspection with a live fetch: redirect chain, status, noindex, canonicals, robots.txt rule, thin content.

queue_urlsB

Add URLs to this property's local inspection queue.

queue_from_sitemapsA

Download sitemaps (indexes, .gz) and queue every page URL for inspection, remembering which sitemap each URL came from.

queue_from_performanceB

Queue every page that got impressions in Search (useful to inspect the pages Google actually shows).

run_inspectionsA

Inspect URLs now: the queue (never-inspected first, then stale), an explicit list, or your top pages. Respects the 2,000/day and 600/minute per-property quotas.

inspection_jobC

Background inspection while Claude Desktop is open: works through the queue within the daily quota and resumes after restarts.

indexing_reportB

Page-indexing report from local inspections: indexed vs not, every reason with source, samples, checks and fixes; canonicals, fetch/robots states, crawl age, rich results.

list_inspected_urlsB

URL-level drill-down of stored inspections with filtering, sorting, paging and CSV export.

indexing_changesC

URLs whose coverage reason changed between their last two inspections (dropped out of the index, newly indexed, ...), plus per-day inspection trend.

indexing_fix_guideA

What each Page indexing reason means, whether it's a Website or Google-systems issue, what to check and how to fix it.

robots_txt_checkA

Fetch robots.txt like Googlebot: status and Google's interpretation, size vs the 500 KiB limit, groups, Googlebot rules, sitemaps, syntax warnings, and a diff if it changed since the last check. Saved to history.

robots_txt_check_propertyA

Check robots.txt on every host that had Search traffic in the property (all subdomains of a Domain property).

robots_txt_historyB

Every stored robots.txt check for a host (date, status, size, hash, response time) and each distinct version with first/last seen.

robots_txt_diffA

Unified diff between two stored robots.txt checks (ids from robots_txt_history).

robots_txt_testA

Is this URL allowed for this crawler? Returns the deciding rule and line, using Google's matching rules.

robots_txt_watchB

Keep checking robots.txt for a host in the background (while Claude Desktop is open) to build version history.

check_redirectsA

Trace redirect chains in bulk: every hop, final status, chains, loops, temporary redirects, https->http; validates migration redirect maps.

check_httpsB

HTTPS health (Search Console's HTTPS report has no API): certificate validity/expiry/names, http->https redirect, HSTS, mixed content.

check_dnsC

DNS records (A, AAAA, CNAME, MX, NS, TXT, CAA) plus Google site-verification tokens found in DNS TXT and on the home page.

image_auditB

Image SEO audit of pages: alt text, file names, width/height, lazy loading near the top, formats, file size, broken images, og:image and structured-data images.

pagespeed_auditB

PageSpeed Insights: Lighthouse scores, lab metrics, top opportunities by savings, failing SEO/other audits, and real-user field data. Uses PAGESPEED_API_KEY or CRUX_API_KEY if set.

property_notesC

Context saved with a property for future chats: brand terms, migration dates, decisions, site changes.

import_access_logsA

Import Apache/Nginx/Varnish access logs to rebuild Crawl stats. Runs in the background; already-imported files are skipped.

crawl_statsB

Crawl stats from your logs: requests, download size, response time per day; breakdowns by response, file type, Googlebot type, purpose and host; robots.txt fetches; example URLs.

core_web_vitalsA

Core Web Vitals field data (LCP, INP, CLS, FCP, TTFB at p75) from the Chrome UX Report, the data behind Search Console's CWV report. Needs CRUX_API_KEY.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 44 tools

Disambiguation4/5

Most tools occupy distinct slots: performance_query vs performance_overview vs compare_periods are clearly layered, and the robots_txt_* family separates check/history/diff/test/watch cleanly. A few clusters blur together — property_overview vs weekly_report vs multi_site_dashboard, and inspect_url vs diagnose_url vs run_inspections vs inspection_job — but the descriptions do enough to steer selection.

Naming Consistency4/5

Everything is snake_case with recognizable domain prefixes (robots_txt_*, queue_from_*, check_*, list_*, find_*) and no camelCase or style mixing. However, only about half the names follow the verb_noun pattern; many are bare nouns (server_status, content_decay, traffic_drops, cron_stats, image_audit), which weakens predictability.

Tool Count2/5

44 tools is a large surface for one server, and several are convenience wrappers over combinations of other tools (weekly_report, multi_site_dashboard, property_overview, verify_metric). While the domain genuinely spans performance, indexing, robots.txt, technical SEO and logs, the count pushes well past a comfortably scannable set.

Completeness4/5

Coverage is unusually thorough: performance analytics, indexing inspections, sitemaps, robots.txt lifecycle, redirects/DNS/HTTPS, CWV, log-based crawl stats, and persistent property notes. The notable gap is write operations on sitemaps (list/get only, no submit/delete) and no way to manage properties beyond reading them.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues