# Google Search Console MCP (gsc-mcp)
> Community MCP focused on Google Search Console, with related GA4, CrUX, PageSpeed, indexing, and SEO analysis capabilities.
Canonical: https://www.mcpfolio.com/servers/google-gsc-mcp-florian
Last updated: 2026-10-28
## Catalog record

- Publisher: FlorianBruniaux
- Categories: development, productivity, database, search, marketing, memory

## Website

https://github.com/FlorianBruniaux/google-search-console-mcp

## Repository

https://github.com/FlorianBruniaux/google-search-console-mcp

## 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.

## Tools

- **get_capabilities**: List all available tools
- **serpapi_search**: Preview or explicitly capture one Google SERP on a verified free plan; durable attempt limits, no retries or paid fallback
- **serpapi_import_preview**: Qualify caller-supplied Google SERP JSON offline; retain missing fields and producer feature types
- **list_properties**: List all GSC properties
- **get_site_details**: Get details for a specific property
- **get_search_analytics**: Query search performance data
- **get_performance_overview**: Aggregate totals + top queries
- **search_change_breakdown**: Compare explicit equal Google windows with independent bounded page/query/country/device views, coverage and residuals
- **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
- **compare_search_periods**: Compare two consecutive periods
- **get_search_by_page_query**: Performance broken down by page and query
- **get_advanced_search_analytics**: Flexible query with custom dimensions and filters
- **analytics_anomalies**: Z-score anomaly detection on daily clicks
- **discover_performance**: Top pages by impressions in Google Discover
- **news_performance**: Top pages by impressions in Google News
- **search_type_breakdown**: Clicks and impressions split across web, Discover, News, image, video
- **ai_overviews_impact**: Generic Web search appearances; AI exposure unverified, explicit 400/403 limits
- **quick_wins**: Pages in positions 4-15 with CTR below benchmark
- **traffic_drops**: Declining clicks with metric-based candidate diagnoses, not causal proof
- **check_alerts**: Traffic concentration risks and ranking opportunities
- **seo_striking_distance**: Queries in positions 8-15, one push away from page 1
- **seo_cannibalization**: Queries split across pages (HHI score); search operators excluded by default since 1.3.1
- **seo_lost_queries**: Queries with a click drop >= 80% vs the previous period
- **inspect_url**: URL indexing status via URL Inspection API
- **batch_url_inspection**: Inspect up to 10 URLs at once
- **check_indexing_issues**: Inspect URLs and categorize by issue type
- **submit_url**: Request indexing for a single URL
- **submit_batch**: Request indexing for multiple URLs (true HTTP batch)
- **list_sitemaps**: List submitted sitemaps
- **submit_sitemap**: Submit a sitemap URL
- **sitemaps_get**: Fetch details for a single sitemap
- **sitemaps_delete**: Delete a submitted sitemap (with safety check)
- **sitemap_audit**: Fetch a sitemap and compare its URLs with 90 days of Search Analytics page rows; does not measure indexation
- **ga4_organic_landing_pages**: Sessions and engagement for organic landing pages
- **ga4_traffic_sources**: Sessions and conversions by channel, source and medium
- **ga4_ai_referrals**: Recorded assistant-attributed visits, exact source rules and coverage-gated shares
- **ga4_page_performance**: 7 metrics per page path, optional CONTAINS filter
- **ga4_realtime**: Active users right now by screen, country and device
- **ga4_user_behavior**: Device, country and user-type breakdowns in one batch call
- **ga4_conversion_funnel**: Converting pages and event counts, optional event filter
- **ga4_funnel**: Multi-step funnel report via GA4 v1alpha RunFunnelReport, conversion rate per step
- **traffic_health_check**: Equal requested dates, zero/empty/unavailable states and coverage-gated heuristic ratios
- **page_analysis**: GSC+GA4 join per page with opportunity score, sorted by priority
- **page_health_score**: Composite 0-100 score (GSC 30 pts, GA4 25 pts, CrUX 25 pts, schema 20 pts), graceful degradation per component
- **content_brief**: Per-page top queries, question queries, and GA4 session data for content planning
- **crux_page_vitals**: Real-user Core Web Vitals (LCP, INP, CLS, FCP, TTFB) for a URL from the Chrome UX Report API
- **crux_history**: Historical Core Web Vitals trend (weekly data points) for a URL
- **schema_validate**: Fetch any public URL and validate its JSON-LD schemas; suggests missing schemas by URL pattern
- **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
- **crawl_snapshot_import**: Optional site-owned SiteOne storage, bounded details, exact-URL reconciliation and explicit cleanup
- **crawl_diff**: Exact observed inventory membership and compatible imported field differences; no deletion/indexing inference
- **indexing_evidence_matrix**: Keep supplied per-URL inspection, HTML, GSC, inventory and log observations separate with unknown current indexing
- **crawl_import_preview**: Since 1.4.0: preview bounded caller-supplied SiteOne JSON in memory; no crawl, file/network access, secrets or GSC join
- **schema_generate**: Generate a Schema.org JSON-LD block for Reservation, OrderAction, DiscussionForumPosting, or ProfilePage
- **drift_baseline**: Capture a baseline snapshot of a page (title, H1-H3, schema, canonical, CWV) stored locally in SQLite
- **drift_compare**: Diff a live fetch against the stored baseline and apply 17 rules (8 CRITICAL, 6 WARNING, 3 INFO)
- **drift_history**: List previous comparison runs for a URL with triggered findings per run
- **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
- **rewrite_fidelity_check**: Since 1.4.0: protected literals and qualifier review candidates; semantic fidelity and factual truth remain unassessed
- **seo_change_impact**: Since 1.4.0: declared event and descriptive Google before/after evidence; no persistence or causal effect
- **content_quality**: Fetch a URL for local filler, density, repetition and thin-content heuristics;  requires independent evaluation
- **hreflang_audit**: Fetch a URL and validate its hreflang implementation: x-default, ISO 639-1 codes, region codes, self-ref, protocol consistency
- **page_technical_audit**: Fetch a URL and audit meta tags (title, description, canonical, robots), viewport, HTML lang, security headers, robots.txt Googlebot access
- **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
- **crux_lcp_subparts**: Decompose LCP into four subparts (TTFB, resource load delay, duration, render delay) with dominant phase identification for targeted CWV remediation
- **indexnow_submit**: Submit URLs to IndexNow (Bing, Yandex, Seznam, Naver) via one POST; SSRF-safe URL validation, skipped-invalid count, ok/partial/error verdict
- **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
- **ai_visibility_audit**: Check robots.txt and llms.txt; version 1.3.1 checks 10 agents, including ClaudeBot, Claude-User and Claude-SearchBot
- **gbp_deprecation_lint**: Scan a page for deprecated Google Business Profile features: .business.site links, Reserve with Google, GBP appointment widgets
- **pagespeed_audit**: Run a PageSpeed Insights API v5 audit: Lighthouse performance score, Core Web Vitals, top 3 improvement opportunities (requires GOOGLE_API_KEY)
- **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
- **link_targets_audit**: Observe bounded internal destination HTTP statuses and redirect hops while preserving source anchors; no recursive crawl
- **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
- **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
- **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
- **bing_sites_list**: List sites visible to the Bing account and their observed verified state
- **bing_query_stats**: Query performance in Bing's observed rolling window
- **bing_page_stats**: Page performance in Bing's observed rolling window
- **bing_page_query_stats**: Query performance for one page
- **bing_rank_traffic_stats**: Daily clicks and impressions; no rank field is inferred
- **bing_crawl_stats**: Dated crawl counters in the requested local window
- **bing_crawl_issues**: Crawl issue flags; non-empty live item shape remains unverified
- **bing_crawl_settings_get**: Observed crawl-rate setting from the partial contract
- **bing_url_info**: Observed URL fields and last crawl date, without an indexation verdict
- **bing_url_traffic**: URL clicks, impressions and derived CTR
- **bing_feeds_list**: List registered Bing feeds
- **bing_feed_details**: Return every observed feed-detail row
- **bing_url_submission_quota**: Return quota integers with total-versus-remaining semantics marked unknown
- **bing_link_counts**: Backlink count page; nested runtime shape remains unverified
- **bing_url_links**: Backlinks for one URL; nested runtime shape remains unverified
- **bing_url_submit**: Submit one same-origin URL; acceptance does not prove indexation
- **bing_urls_submit_batch**: Validate a batch, then refuse it while quota semantics remain unknown
- **bing_feed_submit**: Submit one same-origin feed without claiming crawl or indexation
- **bing_feed_remove**: Remove a registered same-origin feed after explicit confirm=true; runtime contract unverified
- **compare_search_engines**: Compare query or page metrics; deltas require equal exact observed windows and positions stay side by side

## Sources

- [maintainer_source](https://github.com/FlorianBruniaux/google-search-console-mcp)

## Setup

Use the interactive setup panel on [the detail page](https://www.mcpfolio.com/servers/google-gsc-mcp-florian) to view instructions for each supported client.