Google Seo Mcp Claude Code

data-ai MCP Server

The complete Google SEO MCP for Claude Code & Cursor — Search Console + Analytics 4 + 5 cross-platform tools (GSC↔GA4 journey, opportunity matrix, traffic health check, revenue attribution, full landing page diagnosis). Diagnostic intelligence with anti-hallucination provenance, leave-one-out Z-score, real funnels. Read-only by default.

Verified
data-aidata-aigcp
5 views3 stars1 forksMIT

Why This Matters

Discovered via github-topic:mcp-server and last synced 3mo ago.

Verified
Source
github-topic:mcp-server
Stars
3
Last synced
3mo ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
90
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (90)

gsc_content_decay

Pages with monotonic decline across 3 consecutive 30-day windows

ga4_estimate_query_size

Anti-context-blowup probe (`limit=1` → reads `row_count` for free)

ga4_content_decay

GA4 metric decline across 3 consecutive 30-day windows (any metric)

ga4_list_schema_categories

Cheap discovery of available dim/metric categories

cross_opportunity_matrix

GSC quick-win pages ranked by GA4 conversion potential, in 4 quadrants

gsc_site_snapshot

Aggregated totals last N days vs prior period

ga4_get_property_details

Timezone, currency, industry, service level for one property

ga4_conversion_funnel

Deprecated alias of `event_volume_comparison` (kept for back-compat)

migration_sitemap_diff

Old vs new sitemap with `xhtml:link` hreflang alternate parsing

migration_hreflang_cluster_audit

Reciprocity + region-aware (es-ES ≠ es-MX) cross-domain support

lighthouse_compare_mobile_desktop

Side-by-side perf score delta

cross_traffic_health_check

GSC clicks vs GA4 sessions ratio with `tracking_gap` / `filter_issue` / `healthy` diagnosis

cross_gsc_to_ga4_journey

Given a landing path, returns GSC top queries + GA4 behavior on that page

migration_wp_audit_site

WordPress REST inventory: post types, taxonomies, plugin probes

migration_prerender_check

Pre-JS HTML SEO signals + shell-only soft-404 detection

lighthouse_audit

Full PSI audit; surfaces lab + CrUX field data (`loadingExperience`)

google_indexing_delete

URL_DELETED notification (gated)

GOOGLE_SEO_ALLOW_PRIVATE_FETCH

`false`

gsc_list_sitemaps

Sitemaps with errors / warnings / last-submitted

gsc_alerts

Position drops / CTR collapses / click drops / disappeared queries with severity dedup

gsc_submit_sitemap

Submit a sitemap (gated by `GSC_ALLOW_DESTRUCTIVE=true`)

gsc_traffic_drops

Pages losing traffic, classified `ranking_loss` / `ctr_collapse` / `demand_decline` / `disappeared`

migration_multi_bot_diff

Same diff across Googlebot + Bingbot + user UAs

migration_robots_diff

Old vs new robots.txt × GSC ranked paths → `newly_blocked` flag

schema_suggest_for_page

Heuristic schema suggestions by content_type

cross_multi_property_comparison

Parallel fan-out for ≤50 GA4 properties (multi-location dashboards)

gsc_list_sites

Verified properties + permission level + property type

gsc_cannibalization

Queries where ≥2 pages on your site compete

ga4_query

Full Data API report with filters, order_bys, aggregations

migration_googlebot_diff

Mobile-first Googlebot UA vs user UA with 5 anti-FP guards (cf-mitigated, Vary, html.unescape, A/B threshold 30%, cache-bust double-fetch)

migration_robots_audit

robots.txt sitemaps declared, crawl-delay, disallow counts, sample-path verdicts

crux_current

Latest 28-day p75 with auto-fallback URL→origin and `scope` tag

indexnow_submit

Submit a list of URLs

alerts_rss_parse

Parse a Google Alerts RSS feed for brand mentions

GOOGLE_SEO_OAUTH_CLIENT_FILE

—

DATAFORSEO_PASSWORD

—

cross_landing_page_full_diagnosis

End-to-end page diagnosis: GSC + GA4 + cannibalization + score + issues

Tool

What it does

gsc_inspect_url

URL Inspection API — index status, canonical, mobile, rich results

gsc_ctr_opportunities

Pages with CTR far below the expected for their position

ga4_anomalies

STL-deseasonalised + leave-one-out Z-score + Benjamini–Hochberg FDR correction

migration_seo_equity_report

Composer: WP REST + crawl + GSC + internal-link graph → equity score per URL with `MUST_PRESERVE` / `WORTH_PRESERVING` / `LOW_VALUE` / `DEPRECATE` tags

migration_verify_googlebot_ip

rDNS forward+backward validation of a server-log IP

crux_compare_origins

Side-by-side with `winner` / `metric_unit` / interpretation

google_indexing_publish

URL_UPDATED notification (gated by `GSC_ALLOW_DESTRUCTIVE=true`)

aeo_llms_txt_check

Verify `/llms.txt` + `/llms-full.txt` against the [llmstxt.org](https://llmstxt.org) spec

GOOGLE_PROJECT_ID

—

GOOGLE_SEO_LOG_LEVEL

`INFO`

gsc_search_analytics

Custom Search Analytics query — supports `country` (ISO-3166 alpha-3) and `device` filters

ga4_list_properties

Every GA4 property the auth account can access

ga4_event_volume_comparison

Per-event unique-user counts (was `conversion_funnel`; renamed for honesty — GA4 Data API can't enforce sequence)

migration_wp_internal_links_graph

advertools crawl → in/out degree, orphans, top hubs

migration_schema_parity_check

JSON-LD types + critical props old vs new with parity_score

lighthouse_lcp_opportunities

Filtered to LCP-relevant audits via `auditRefs.relevantAudits`

schema_validate_url

Lightweight validation against 40+ types (incl. `MedicalWebPage`, `ClaimReview`, `DefinedTerm`, `JobPosting`)

google_suggest

Google autocomplete for a seed query

get_capabilities

Tool catalog + auth status for both GSC and GA4 (call this first)

GSC_CTR_BENCHMARKS

conservative defaults

ga4_traffic_drops_by_channel

Channels in decline, multi-axis: volume / engagement / conversion / bounce

aeo_ai_bots_robots_audit

Per-bot allow/block for 16 AI/LLM crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, Bytespider, etc.) with vendor + purpose + docs

cross_seo_to_revenue_attribution

Top organic queries attributed to GA4 revenue by click-share (with 50% confidence band)

ga4_channel_attribution

First-touch vs last-touch comparison; classifies as assister / closer / balanced

migration_redirects_plan

Hybrid exact + rapidfuzz match with collision + self-redirect detection

migration_wayback_baseline

Internet Archive CDX snapshot inventory as historical anchor

indexnow_generate_key

32-char key for Bing/Yandex IndexNow

google_trends_related

Top + rising related queries

GOOGLE_APPLICATION_CREDENTIALS

gcloud ADC default

DATAFORSEO_LOGIN

—

gsc_quick_wins

Queries in positions 4-15, scored by `impressions × CTR-gap-to-pos-3`

ga4_search_schema

TF-IDF keyword search over GA4 dimensions/metrics (top-N, avoids 10k token dump)

ga4_cohort_retention

New vs returning visitor metrics

migration_sitemap_validate

Concurrent GET (Range: bytes=0-0) + retry on 503/504

migration_indexation_recovery_monitor

Post-launch GSC URL Inspection batch with INDEXED / DISCOVERED / SOFT_404 / BLOCKED classification

lighthouse_seo_score

Lighthouse SEO category breakdown

google_trends_keyword

pytrends interest-over-time + region

Var

Default

CRUX_API_KEY

(falls back to `PAGESPEED_API_KEY`)

ga4_landing_page_health

Health score (red/amber/green) for top landing pages

migration_wp_extract_redirects

Enumerate redirects from Redirection / RankMath / Yoast Premium

migration_prerender_vs_hydrated

Playwright DOM diff with optional `wrs_realistic=True` (5s budget, console errors, hydration mismatches)

lighthouse_core_web_vitals

LCP + CLS lab + INP/LCP/CLS field + TBT/FCP/SI/TTI under `lab_metrics`

schema_extract_url

Extract JSON-LD + microdata + RDFa via extruct

GSC_ALLOW_DESTRUCTIVE

`false`

crux_history

Up to 25 weekly snapshots (~6 months) for one metric

indexnow_submit_sitemap

Parse sitemap and submit (chunked at 10k URLs)

GOOGLE_SEO_SERVICE_ACCOUNT_FILE

—

GOOGLE_SEO_HISTORY_DIR

`~/.google-seo-mcp/history`

google_suggest_alphabet

Seed × A-Z fan-out (~110 long-tails per seed)

reauthenticate

Reset in-process auth clients for both APIs

PAGESPEED_API_KEY

—