GA4 SEO MCP
Set up and audit site measurement: GA4, Search Console and PageSpeed.
Connector by GermaniU · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/germaniu-ga4-seo-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 17 read · 2 write · 0 delete · 11 not yet classified
- Secrets
- 4 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 30
Read from the source code; the running server may list different tools.
Read 17 · Look things up without changing anything.
audit_portfolioevents_summaryget_data_streamget_propertykw_ideaskw_ideas_gadslist_account_summarieslist_custom_dimensionslist_data_streamslist_google_ads_linkslist_key_eventslist_properties
Show 5 more tools
sc_list_sitemapssc_list_sitessc_query_breakdown_by_pagesc_top_queriessc_verify_site_dns
Write 2 · Create, change, send or run things.
sc_add_site_and_get_verify_tokensc_submit_sitemap
Not yet classified 11 · We could not tell from the name and description.
conversions_summarykw_volumekw_volume_gadspsi_auditpsi_field_data_onlyrun_realtime_reportrun_reportsc_page_performancetop_pagestraffic_sourcesweb_vitals_summary
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
DATAFORSEO_PASSWORDGOOGLE_ADS_DEVELOPER_TOKENGOOGLE_APPLICATION_CREDENTIALSPAGESPEED_API_KEY
Other settings (environment variables or headers).
DATAFORSEO_LOGINGA4SEO_ENABLE_WRITESGA4SEO_TOOLSETSGOOGLE_ADS_LOGIN_CUSTOMER_ID
Network hosts it talks to 6
::1· found in codeapi.dataforseo.com· found in codedevelopers.google.com· found in codegithub.com· found in codegoogleapis.com· found in codeoauth2.googleapis.com· found in code
Files it touches
- Your home directory (~)
~/.config/ga4-seo-mcp/dev-token
Tools (30)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
audit_portfolioSummary metrics for several GA4 properties in one call. Returns sessions, active users, conversions, bounce rate and average session duration per property, plus the properties that failed and why. Args: property_ids: e.g. ['123456789', '987654321'].
conversions_summaryConversions and total users per event name: a summary of the active key events.
events_summaryCount of every event that fired, to audit what is actually being measured. Compare it with list_key_events to find key events that never fire.
get_data_streamGet one data stream, including the measurement ID of a web stream.
get_propertyGet the full settings of a GA4 property (time zone, currency, industry, type).
kw_ideasDiscover long-tail keyword ideas related to one or more seed keywords (DataForSEO Labs). Ideas are related to the seeds but do not necessarily contain them. Paid API: each call spends DataForSEO credit. Args: keywords: seed keywords, e.g. ['coffee shop', 'espresso machine']. location_name: DataForSEO location name (default 'Mexico'). language_code: ISO language code (default 'es'). limit: maximum results (default 50, API maximum 1000). Returns keyword, search_volume, competition, competition_level and cpc per idea.
kw_ideas_gadsDiscover keyword ideas from seed keywords with Google Ads Keyword Planner. Free, but without active ad spend the volume comes in buckets; use kw_ideas (DataForSEO) when you need exact long-tail volumes. Args: customer_id: Google Ads customer ID (10 digits, dashes allowed). The account does not need campaigns or spend. keywords: seed keywords, e.g. ['coffee shop', 'espresso machine']. location_id: geo target constant ID (default '2484', Mexico; '2840' is United States). language_id: language constant ID (default '1003', Spanish; '1000' is English). limit: maximum r…
kw_volumeExact monthly search volume and CPC for queries you already know (DataForSEO). Typical use: enrich the queries returned by sc_top_queries. Does not discover new keywords. Paid API. Args: keywords: exact queries (max 1000, 80 characters each). location_name: DataForSEO location name (default 'Mexico'). language_code: ISO language code (default 'es'). Returns keyword, search_volume, cpc, competition and monthly_searches per query.
kw_volume_gadsHistorical metrics from Google Ads Keyword Planner for queries you already know. Same caveat as kw_ideas_gads: bucketed volume without active spend; use kw_volume (DataForSEO) for exact numbers. Args: customer_id: Google Ads customer ID (10 digits, dashes allowed). keywords: exact queries. location_id: geo target constant ID (default '2484', Mexico). language_id: language constant ID (default '1003', Spanish).
list_account_summariesList every GA4 account you can access, with a summary of its properties. Start here to find the account_id and property_id the other tools need.
list_custom_dimensionsList the custom dimensions declared on a GA4 property, with their scope.
list_data_streamsList the data streams (web, iOS, Android) of a GA4 property. Web streams include their measurement ID (G-XXXXXXX) and default URI.
list_google_ads_linksList the links between a GA4 property and Google Ads accounts.
list_key_eventsList the key events (formerly conversions) declared on a GA4 property.
list_propertiesList the GA4 properties under an account. Args: account_id: numeric account ID or 'accounts/123456789'. include_deleted: also return properties in the trash (soft-deleted, kept 35 days).
Show 15 more tools
psi_auditRun a PageSpeed Insights audit (Lighthouse lab test + CrUX field data) on a public URL. Takes 30-90 seconds. Without PAGESPEED_API_KEY the anonymous quota is small and Google may answer 429; set the key for regular use. Args: url: absolute public URL, e.g. 'https://example.com/'. strategy: 'mobile' (default) or 'desktop'. categories: subset of ['performance', 'accessibility', 'best-practices', 'seo']. Default: all four. Returns 0-100 category scores, lab Core Web Vitals (LCP, FCP, CLS, TBT, SI, TTFB) and, when Chrome has enough real-user traffic, CrUX p75 field data for …
psi_field_data_onlyOnly the CrUX field data (real Chrome users, p75 over 28 days) for a URL and its origin. PageSpeed Insights still runs a performance-only Lighthouse pass, so expect 15-40 seconds. `overall_category` is FAST, AVERAGE or SLOW; it is null when the page has too little traffic.
run_realtime_reportRealtime report for the last 30 minutes. Useful to confirm that a new event fires in production right after a deploy. Args: metrics: default ['activeUsers']; 'eventCount' also works. dimensions: default ['eventName']; also 'unifiedScreenName', 'country', 'deviceCategory'.
run_reportRun a flexible GA4 report. Args: property_id: numeric ID or 'properties/123456789'. metrics: e.g. ['sessions', 'activeUsers', 'keyEvents']. Catalog: https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics dimensions: optional, e.g. ['date', 'sessionSource', 'pagePath']. Catalog: https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions date_start: 'YYYY-MM-DD', 'today', 'yesterday' or 'NdaysAgo' (e.g. '28daysAgo'). date_end: same formats as date_start. limit: maximum rows (default 25). o…
sc_add_site_and_get_verify_tokenAdd a domain property to Search Console and return the DNS TXT record that verifies it. Domain properties ('sc-domain:') cover every subdomain and both http and https, but Google only verifies them over DNS (TXT or CNAME). Add the returned token as a TXT record on the zone root (name '@'), wait for it to propagate, then call sc_verify_site_dns. Safe to call again: an existing site is reported as 'already_exists'. Args: domain: bare domain without scheme, e.g. 'example.com'. Returns `add` (created / already_exists), `txt_token` and `next_steps`.
sc_list_sitemapsList the sitemaps submitted for a Search Console site, with errors and warnings.
sc_list_sitesList the Search Console sites you can access. Each entry has `siteUrl` ('sc-domain:example.com' for domain properties or a URL prefix like 'https://example.com/') and `permissionLevel` ('siteOwner', 'siteFullUser', 'siteRestrictedUser' or 'siteUnverifiedUser').
sc_page_performanceTop pages in Google Search by clicks, with impressions, CTR (%) and average position.
sc_query_breakdown_by_pageWhich search queries bring traffic to one specific page. Useful to decide which keywords to strengthen in that page's content.
sc_submit_sitemapSubmit (or resubmit) a sitemap to Search Console. Args: site_url: 'sc-domain:example.com' or 'https://example.com/'. sitemap_url: absolute URL of the sitemap, e.g. 'https://example.com/sitemap.xml'.
sc_top_queriesTop search queries with clicks, impressions, CTR (%) and average position. Args: site_url: 'sc-domain:example.com' or 'https://example.com/', exactly as in sc_list_sites. date_start: 'YYYY-MM-DD'. date_end: 'YYYY-MM-DD'. Search Console data lags 2-3 days. limit: rows to return (max 25000). country: optional ISO 3166-1 alpha-3 code to filter by, e.g. 'mex' or 'usa'.
sc_verify_site_dnsVerify ownership of a domain property whose DNS TXT record is already published. Run sc_add_site_and_get_verify_token first and wait until `dig TXT <domain> +short` shows the token. Args: domain: bare domain without scheme, e.g. 'example.com'.
top_pagesTop pages by sessions, with active users, bounce rate and average session duration.
traffic_sourcesTop traffic sources (source / medium) with sessions, active users and conversions.
web_vitals_summaryCore Web Vitals reported by your own site as GA4 events. Requires the site to send web-vitals events with the parameters `web_vital_metric` and `web_vital_rating`, both registered as event-scoped custom dimensions. For Google's field data use psi_field_data_only instead.
Compare and alternatives
Featured in
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 231
- Last commit
- Oct 24, 2026 (5 days ago)
- Last release
- Oct 24, 2026 (5 days ago)
- Last package publish
- Oct 24, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.GermaniU/ga4-seo-mcp- Version
- 0.1.2
- Auth
- API key
- Packages
- pypi ga4-seo-mcpoci
ghcr.io/germaniu/ga4-seo-mcp:0.1.2 - License
- MIT
- Repository
- github.com/GermaniU/ga4-seo-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from GermaniU
- 0.609score
ComfyUI MCP
GermaniU
MCP server that wraps ComfyUI (SDXL/Wan 2.2) for image and short-video generation.
ConnectorAFreshness: ALocal★ 2Claude Code +5 - 0.607score
MCP Memory
GermaniU
Local persistent memory for AI agents: SQLite + FTS5 (BM25) lexical search, zero external infra.
ConnectorAFreshness: ALocal★ 1Claude Code +5 - 0.607score
MinerU MCP
GermaniU
Parse PDF, DOCX, PPTX, XLSX and images to Markdown (tables, LaTeX) via a self-hosted MinerU API.
ConnectorAFreshness: ALocal★ 1Claude Code +5
Cite this page
GA4 SEO MCP. Agent Mart. https://agentmart.dev/connectors/germaniu-ga4-seo-mcp (last updated 2026-10-24)