Releases: FlorianBruniaux/google-search-console-mcp
Release list
v0.6.2 : doc completion
What's New
Documentation-only release.
- README: What's New section summarizing v0.6.0 (7 new tools) and v0.6.1 (refactor) for users discovering the project
- README: Troubleshooting section covering the 6 most common setup issues: uvx launch, absolute path auth, GA4 property_id, CrUX API key, Indexing API 403 (Owner permission required), and submit_batch quota warning at 180/200
No code changes. The 43 tools, 282 tests, and all behavior from v0.6.1 are unchanged.
v0.6.1 — Refactor interne + fix entrypoint uvx
Fixes
- Entrypoint
uvx:uvx gsc-mcp-toolséchouait avec "executable not provided". Les deux noms (gsc-mcpetgsc-mcp-tools) pointent maintenant sur le même serveur. - README : badge tests corrigé (282), 4 tools manquants ajoutés au tableau détaillé (
sitemap_audit,crux_page_vitals,crux_history,schema_validate), descriptions Cross traduites.
Refactor (pas de nouveaux tools)
auth.py: helper_ga4_creds()pour supprimer la duplication entre les deux clients GA4seo.py: helper_two_periods(days)pour déduplication du calcul de fenêtres danstraffic_dropsetseo_lost_queriesindexing.py:_submit_batch_implfusionné danssubmit_batch, couche de délégation suppriméesitemaps.py:DefusedXmlExceptionintégré dans l'exceptinterne, bloc externe supprimécross.py: dicts parallèles remplacés par de l'arithmétique directe danspage_health_score- Tests :
test_seo_v2.pyettest_sitemaps_v2.pyfusionnés dans leurs fichiers principaux,test_scaffold.pysupprimé
Tests : 268 → 282 | Tools : 43 (inchangé)
v0.5.0
What's new
4 new tools, hostname/country filters on all GA4 tools, 222 tests (55 added). 36 tools total.
New tools
CrUX — real-user Core Web Vitals from the Chrome UX Report API (requires CRUX_API_KEY):
crux_page_vitals— LCP, INP, CLS, FCP, TTFB with good/needs_improvement/poor ratings and p75crux_history— 25 weeks of weekly p75 series per metric, for tracking regressions
Sitemaps:
sitemap_audit— fetches a sitemap (or sitemap index), parses URLs withdefusedxml(prevents XXE/billion-laughs), and cross-references against 90 days of GSC data. Verdicts:empty,fetch_error,partial(>20% URLs not in GSC),healthy
Technical:
schema_validate— fetches any public URL, extracts JSON-LD blocks, validates required fields per schema type (Article, LocalBusiness, FAQPage, Product, WebSite...), and suggests missing schemas from URL patterns. No auth required
GA4 filters
All 6 GA4 tools and the 2 cross tools now accept hostname and country parameters. Pass either or both to filter results to a specific subdomain or country without changing anything else.
Security / reliability fixes
sitemap_audit: child sitemaps in a sitemap index are validated against the parent's origin (follow_redirects=False) to prevent SSRF via poisoned sitemap index filesauth.py: token directory created with0o700, token filechmod 0o600after writeretry.py: extends exponential backoff to GA4 gRPC errors (ServiceUnavailable,ResourceExhausted,InternalServerError,BadGateway,RetryError) in addition to the existing GSC HTTP errors
New dependencies
httpx>=0.27.0— used bycrux_page_vitals,crux_history,sitemap_audit,schema_validatedefusedxml>=0.7.1— used bysitemap_auditfor safe XML parsing
Breaking changes
None. All existing tools behave identically when the new parameters are omitted.
v0.4.2 : Multi-property GA4 support
Nouveauté
Tous les tools GA4 et cross acceptent maintenant un paramètre optionnel `property_id`. Quand fourni, il override `GA4_PROPERTY_ID` sans toucher à la config du serveur.
Utile si vous gérez plusieurs sites avec des properties GA4 distinctes depuis une seule instance MCP.
```python
property par défaut (env var)
ga4_traffic_sources(site="sc-domain:example.com")
override par appel
ga4_traffic_sources(site="sc-domain:example.com", property_id="443684366")
traffic_health_check(site="sc-domain:example.com", property_id="443684366")
```
Changements
- `get_ga4_property_id(override=None)` dans `auth.py`
- Paramètre `property_id: str = None` sur les 6 tools GA4 et les 2 tools cross
- 4 nouveaux tests (167 au total)
v0.4.1
Fixes and internal consolidation — no new tools.
Fixed
get_capabilitieswas reporting 18 tools instead of 32 (14 missing since v0.2)inspect_url,batch_url_inspection,check_indexing_issueswere raisingAttributeErrorat runtime: they calledwebmasters/v3which does not exposeurlInspection. Fixed by switching tosearchconsole/v1traffic_health_checkandpage_analysisnow include anotefield warning about the 3-day GSC reporting lag vs GA4ga4_organic_landing_pagesnow adds a truncation warning when results hit thelimit
Changed
- All GSC tools consolidated on
searchconsole/v1(dropswebmasters/v3). The v1 API exposes the samesites,searchanalytics,sitemapsresources plusurlInspection
Tests
- Improved
quick_winscoverage: zero-CTR detection, impression threshold exclusion, CTR-at-benchmark exclusion
v0.4.0
2 new cross-platform tools (32 total): traffic_health_check (GSC clicks vs GA4 organic sessions ratio, detects tracking gaps) and page_analysis (page-level GSC+GA4 join with opportunity score). URL normalization strips scheme/host/query/trailing slash for reliable cross-source joins.
v0.3.0
6 new GA4 tools (30 total): ga4_organic_landing_pages, ga4_traffic_sources, ga4_page_performance, ga4_realtime, ga4_user_behavior, ga4_conversion_funnel. New dependency: google-analytics-data>=0.18.0. New env var: GA4_PROPERTY_ID (validated lazily, GSC-only users unaffected).
v0.2.0
6 new tools (24 total): analytics_anomalies (Z-score on daily clicks), seo_striking_distance (positions 8-15), seo_cannibalization (HHI conflict score), seo_lost_queries (click drop >= 80%), sitemaps_get, sitemaps_delete (with safety check). No new dependencies.
v0.1.0
First working release: 18 tools covering GSC search analytics, URL inspection, Indexing API (true HTTP batch), sitemaps, and properties. OAuth + Service Account auth. JSON output with _meta block on every response. Retry logic on 429/5xx with exponential backoff. Quota tracking for Indexing API (warns at 180/200 req/day).