Skip to directory

Google Search Console MCP (gsc-mcp)

FlorianBruniaux

Transport not documented95+ documented tools15

About Google Search Console MCP (gsc-mcp)

Community MCP focused on Google Search Console, with related GA4, CrUX, PageSpeed, indexing, and SEO analysis capabilities.

Connection and setup
Hosting
Community-maintained
Transport
Not documented
Endpoint
Local process; no hosted endpoint documented
Authentication
Google Search Console uses the service-account or OAuth setup described by the maintainer; optional GA4, CrUX, Bing, IndexNow, and SERP tools have separate provider credentials. Keep keys in a local secret store.

Requirements

  • Python 3.11 or newer and uv/uvx.
  • Google Search Console access and a supported service-account or OAuth credential setup from the maintainer guide.
  • Google Analytics, CrUX, Bing, IndexNow, or SERP provider credentials are needed only for the corresponding optional tool families.

Setup steps

  1. Run the published package with uvx gsc-mcp-tools (or install it as described in the maintainer installation guide).
  2. Follow the linked Google setup guide to grant access to the Search Console properties and configure OAuth/service-account credentials.
  3. Add the uvx command as a stdio MCP server in the client.
  4. Set optional provider keys only for tool families you need, then inspect tools and configured account/property access.
Tools 95+

95 tool rows were extracted from the current README table, while the README badge/headline claims 98. The remaining three names were not reconciled, so treat this displayed list as partial.

  • get_capabilities

    List all available tools

    01
  • serpapi_search

    Preview or explicitly capture one Google SERP on a verified free plan; durable attempt limits, no retries or paid fallback

    02
  • serpapi_import_preview

    Qualify caller-supplied Google SERP JSON offline; retain missing fields and producer feature types

    03
  • list_properties

    List all GSC properties

    04
  • get_site_details

    Get details for a specific property

    05
  • get_search_analytics

    Query search performance data

    06
  • get_performance_overview

    Aggregate totals + top queries

    07
  • search_change_breakdown

    Compare explicit equal Google windows with independent bounded page/query/country/device views, coverage and residuals

    08
  • search_weekday_reference

    Default since 1.4.0: disjoint Google windows aligned by weekday and ending by Pacific J-3. Version 1.5.0 adds optional annual/robust references and mixed/undetermined results; descriptive, no causal attribution

    09
  • compare_search_periods

    Compare two consecutive periods

    10
  • get_search_by_page_query

    Performance broken down by page and query

    11
  • get_advanced_search_analytics

    Flexible query with custom dimensions and filters

    12
  • analytics_anomalies

    Z-score anomaly detection on daily clicks

    13
  • discover_performance

    Top pages by impressions in Google Discover

    14
  • news_performance

    Top pages by impressions in Google News

    15
  • search_type_breakdown

    Clicks and impressions split across web, Discover, News, image, video

    16
  • ai_overviews_impact

    Generic Web search appearances; AI exposure unverified, explicit 400/403 limits

    17
  • quick_wins

    Pages in positions 4-15 with CTR below benchmark

    18
  • traffic_drops

    Declining clicks with metric-based candidate diagnoses, not causal proof

    19
  • check_alerts

    Traffic concentration risks and ranking opportunities

    20
  • seo_striking_distance

    Queries in positions 8-15, one push away from page 1

    21
  • seo_cannibalization

    Queries split across pages (HHI score); search operators excluded by default since 1.3.1

    22
  • seo_lost_queries

    Queries with a click drop >= 80% vs the previous period

    23
  • inspect_url

    URL indexing status via URL Inspection API

    24
  • batch_url_inspection

    Inspect up to 10 URLs at once

    25
  • check_indexing_issues

    Inspect URLs and categorize by issue type

    26
  • submit_url

    Request indexing for a single URL

    27
  • submit_batch

    Request indexing for multiple URLs (true HTTP batch)

    28
  • list_sitemaps

    List submitted sitemaps

    29
  • submit_sitemap

    Submit a sitemap URL

    30
  • sitemaps_get

    Fetch details for a single sitemap

    31
  • sitemaps_delete

    Delete a submitted sitemap (with safety check)

    32
  • sitemap_audit

    Fetch a sitemap and compare its URLs with 90 days of Search Analytics page rows; does not measure indexation

    33
  • ga4_organic_landing_pages

    Sessions and engagement for organic landing pages

    34
  • ga4_traffic_sources

    Sessions and conversions by channel, source and medium

    35
  • ga4_ai_referrals

    Recorded assistant-attributed visits, exact source rules and coverage-gated shares

    36
  • ga4_page_performance

    7 metrics per page path, optional CONTAINS filter

    37
  • ga4_realtime

    Active users right now by screen, country and device

    38
  • ga4_user_behavior

    Device, country and user-type breakdowns in one batch call

    39
  • ga4_conversion_funnel

    Converting pages and event counts, optional event filter

    40
  • ga4_funnel

    Multi-step funnel report via GA4 v1alpha RunFunnelReport, conversion rate per step

    41
  • traffic_health_check

    Equal requested dates, zero/empty/unavailable states and coverage-gated heuristic ratios

    42
  • page_analysis

    GSC+GA4 join per page with opportunity score, sorted by priority

    43
  • page_health_score

    Composite 0-100 score (GSC 30 pts, GA4 25 pts, CrUX 25 pts, schema 20 pts), graceful degradation per component

    44
  • content_brief

    Per-page top queries, question queries, and GA4 session data for content planning

    45
  • crux_page_vitals

    Real-user Core Web Vitals (LCP, INP, CLS, FCP, TTFB) for a URL from the Chrome UX Report API

    46
  • crux_history

    Historical Core Web Vitals trend (weekly data points) for a URL

    47
  • schema_validate

    Fetch any public URL and validate its JSON-LD schemas; suggests missing schemas by URL pattern

    48
  • crawl_log_audit

    Since 1.5.0: bounded local common/combined logs, masked paths/IPs, declared bots and optional current Google IP membership; no indexing inference

    49
  • crawl_snapshot_import

    Optional site-owned SiteOne storage, bounded details, exact-URL reconciliation and explicit cleanup

    50
  • crawl_diff

    Exact observed inventory membership and compatible imported field differences; no deletion/indexing inference

    51
  • indexing_evidence_matrix

    Keep supplied per-URL inspection, HTML, GSC, inventory and log observations separate with unknown current indexing

    52
  • crawl_import_preview

    Since 1.4.0: preview bounded caller-supplied SiteOne JSON in memory; no crawl, file/network access, secrets or GSC join

    53
  • schema_generate

    Generate a Schema.org JSON-LD block for Reservation, OrderAction, DiscussionForumPosting, or ProfilePage

    54
  • drift_baseline

    Capture a baseline snapshot of a page (title, H1-H3, schema, canonical, CWV) stored locally in SQLite

    55
  • drift_compare

    Diff a live fetch against the stored baseline and apply 17 rules (8 CRITICAL, 6 WARNING, 3 INFO)

    56
  • drift_history

    List previous comparison runs for a URL with triggered findings per run

    57
  • editorial_audit

    FR/EN house-style warnings, localized excerpts and faithful rewrite guidance; caller plain/Markdown drafts since 1.4.0 with native source spans and bounded parsing; no AI-authorship score

    58
  • rewrite_fidelity_check

    Since 1.4.0: protected literals and qualifier review candidates; semantic fidelity and factual truth remain unassessed

    59
  • seo_change_impact

    Since 1.4.0: declared event and descriptive Google before/after evidence; no persistence or causal effect

    60
  • content_quality

    Fetch a URL for local filler, density, repetition and thin-content heuristics; requires independent evaluation

    61
  • hreflang_audit

    Fetch a URL and validate its hreflang implementation: x-default, ISO 639-1 codes, region codes, self-ref, protocol consistency

    62
  • page_technical_audit

    Fetch a URL and audit meta tags (title, description, canonical, robots), viewport, HTML lang, security headers, robots.txt Googlebot access

    63
  • preload_audit

    Audit Speculation Rules, bfcache eligibility, and LCP preload signals: inline speculationrules blocks, Speculation-Rules header, link preload tags, deprecated prerender, cache-control blockers

    64
  • crux_lcp_subparts

    Decompose LCP into four subparts (TTFB, resource load delay, duration, render delay) with dominant phase identification for targeted CWV remediation

    65
  • indexnow_submit

    Submit URLs to IndexNow (Bing, Yandex, Seznam, Naver) via one POST; SSRF-safe URL validation, skipped-invalid count, ok/partial/error verdict

    66
  • parasite_risk

    Scan URL paths for parasite SEO patterns matching Google's 2024-11-19 site-reputation policy: sponsored/affiliate sections, Forbes Advisor, CNN Underscored patterns, affiliate query params

    67
  • ai_visibility_audit

    Check robots.txt and llms.txt; version 1.3.1 checks 10 agents, including ClaudeBot, Claude-User and Claude-SearchBot

    68
  • gbp_deprecation_lint

    Scan a page for deprecated Google Business Profile features: .business.site links, Reserve with Google, GBP appointment widgets

    69
  • pagespeed_audit

    Run a PageSpeed Insights API v5 audit: Lighthouse performance score, Core Web Vitals, top 3 improvement opportunities (requires GOOGLE_API_KEY)

    70
  • heading_audit

    Audit heading structure: H1 uniqueness, level jumps (H2 to H4), title vs H1 word-for-word duplication, headings carrying no information, words per H2

    71
  • link_targets_audit

    Observe bounded internal destination HTTP statuses and redirect hops while preserving source anchors; no recursive crawl

    72
  • internal_links_audit

    Audit a page's internal links weighted by zone (body, nav, footer, header, aside): targets linked only from footer/nav, generic and empty anchors, internal nofollow, self-links

    73
  • link_equity_map

    Crawl the top pages by impressions, build the internal link graph, cross it with GSC: pages at position 11-20 with no body inbound link, orphan candidates, footer-only targets, hubs

    74
  • prune_candidates

    Classify pages by measured traffic (has_traffic, impressions_no_clicks, low_impressions, zero_impressions) before any pruning call; a page with clicks is never a candidate

    75
  • bing_sites_list

    List sites visible to the Bing account and their observed verified state

    76
  • bing_query_stats

    Query performance in Bing's observed rolling window

    77
  • bing_page_stats

    Page performance in Bing's observed rolling window

    78
  • bing_page_query_stats

    Query performance for one page

    79
  • bing_rank_traffic_stats

    Daily clicks and impressions; no rank field is inferred

    80
  • bing_crawl_stats

    Dated crawl counters in the requested local window

    81
  • bing_crawl_issues

    Crawl issue flags; non-empty live item shape remains unverified

    82
  • bing_crawl_settings_get

    Observed crawl-rate setting from the partial contract

    83
  • bing_url_info

    Observed URL fields and last crawl date, without an indexation verdict

    84
  • bing_url_traffic

    URL clicks, impressions and derived CTR

    85
  • bing_feeds_list

    List registered Bing feeds

    86
  • bing_feed_details

    Return every observed feed-detail row

    87
  • bing_url_submission_quota

    Return quota integers with total-versus-remaining semantics marked unknown

    88
  • bing_link_counts

    Backlink count page; nested runtime shape remains unverified

    89
  • bing_url_links

    Backlinks for one URL; nested runtime shape remains unverified

    90
  • bing_url_submit

    Submit one same-origin URL; acceptance does not prove indexation

    91
  • bing_urls_submit_batch

    Validate a batch, then refuse it while quota semantics remain unknown

    92
  • bing_feed_submit

    Submit one same-origin feed without claiming crawl or indexation

    93
  • bing_feed_remove

    Remove a registered same-origin feed after explicit confirm=true; runtime contract unverified

    94
  • compare_search_engines

    Compare query or page metrics; deltas require equal exact observed windows and positions stay side by side

    95

This server’s available tools can vary by account, permissions, or configuration. The list shown is not its full runtime catalog.

Original sources

Documentation checked 2026-10-28T00:00:00Z. Connection has not been runtime tested.