v1.6.0
Added
- New server
ga4— Google Analytics 4 via the Data API v1beta + Admin API (8th server):ga4_list_properties,ga4_report(arbitrary dimensions × metrics, filters, sorting),ga4_bytime,ga4_traffic_sources,ga4_geo,ga4_devices,ga4_top_pages,ga4_events,ga4_realtime.
The OAuth app is shared withgsc(GOOGLE_CLIENT_ID/GOOGLE_CLIENT_SECRET) — GA4 only needs its own consent (different scope) and uses loopback port 8586 so both servers can run at once. Responses carrytotalRows/truncated, the propertytimeZoneandthresholded. Dates acceptYYYY-MM-DDand GA4 keywords (28daysAgo,yesterday…), resolved in the property's timezone.
NOTE: GA4 returnsbounceRate/engagementRateas a 0..1 fraction, not a percent.
Changed
- shared: Google authorization extracted from
servers/gscinto a reusable subpath@seo-tools/shared/google(createGoogleAuth,registerGoogleOauthTools, loopback). Like./serp, it's a separate subpath sogoogle-auth-librarystays out of non-Google server bundles.gsc/index.tsshrank 644 → 323 lines with no behavior change. - docs:
.mcp.jsonhad been missingaparsersince 1.4.0 — added, together withga4; both READMEs,.env.exampleand the older Dockerfiles now cover all 8 servers.
npm: seo-tools-mcp-<server>@1.6.0 (8 servers). See CHANGELOG.