GA4 Analytics MCP
GA4 Analytics MCP
Persönlicher Google Analytics 4 Connector für Claude.ai Custom Connectors, gehostet auf Google Cloud Run.
Claude.ai Custom Connector
→ https://ga4-mcp-xxxxx-uc.a.run.app/ga4mcp
→ Cloud Run
→ Google Analytics Data API
→ your GA4 propertiesEs gibt keinen lokalen stdio-Server, keine npx-Anforderung und keine claude_desktop_config.json.
Zwei Authentifizierungsebenen bleiben getrennt:
Claude → MCP: MCP OAuth (CIMD / DCR)
MCP → Google: Google OAuth Refresh Token, gespeichert in
GOOGLE_REFRESH_TOKEN
MCP-Tools
Tool | Zweck |
| Properties auf dem verbundenen Google-Konto entdecken |
| Gültige Dimensionen und Metriken auflisten |
| Historische GA4-Berichte |
| Letzte ~30 Minuten |
Related MCP server: Google Analytics MCP Server
Lokale Entwicklung
npm install
copy .env.example .env.local.env.local ausfüllen, dann:
npm run devApp:
http://localhost:3000MCP:
http://localhost:3000/ga4mcpGoogle OAuth:
http://localhost:3000/oauth/googleHealth:
http://localhost:3000/health
npm test
npm run buildClaude.ai kann localhost nicht erreichen. Vor dem Hinzufügen des Custom Connectors auf Cloud Run bereitstellen.
Google Cloud Einrichtung (ein Projekt)
Verwenden Sie dasselbe Google Cloud-Projekt für APIs, OAuth und Cloud Run.
1. Installieren und anmelden
Installieren Sie das Google Cloud SDK.
Führen Sie aus:
gcloud auth login
gcloud auth application-default loginErstellen oder wählen Sie ein Projekt in der Google Cloud Console.
gcloud config set project YOUR_PROJECT_ID2. APIs aktivieren
.\scripts\cloud-run-setup.ps1 -ProjectId YOUR_PROJECT_ID -Region us-central1Dies aktiviert:
Cloud Run
Cloud Build
Artifact Registry
Google Analytics Data API
Google Analytics Admin API
Oder aktivieren Sie sie in der Console: APIs & Services → Library.
3. OAuth-Zustimmung und Web-Client
Dieser Google OAuth-Client dient nur dazu, dass Cloud Run Ihre GA4-Daten lesen kann. Es ist nicht der Client für die Claude.ai Advanced Settings.
Öffnen Sie APIs & Services → OAuth consent screen.
Benutzertyp: External für ein persönliches Gmail-Konto.
App-Name:
GA4 MCP.Fügen Sie sich selbst als Testnutzer hinzu, wenn Sie im Testmodus bleiben.
Veröffentlichen Sie auf Production, damit Refresh Tokens nicht nach 7 Tagen ablaufen.
Erstellen Sie OAuth client ID-Anmeldedaten.
Anwendungstyp: Web application.
Autorisierte Weiterleitungs-URIs (beide hinzufügen):
http://localhost:3000/oauth/google/callbackhttps://ga4-mcp-XXXXXXXX-uc.a.run.app/oauth/google/callback
(verwenden Sie die echte Cloud Run-URL nach dem ersten Deployment)
Von dieser App verwendeter Bereich:
https://www.googleapis.com/auth/analytics.readonlyKopieren Sie die Client-ID und das Client-Secret. Committen Sie diese nicht.
Das Google-Konto, das Sie autorisieren, muss bereits Zugriff auf die GA4-Properties haben, die Claude abfragen soll.
Auf Cloud Run bereitstellen
Standard-Service-Name: ga4-mcp. Standard-Region: us-central1.
.\scripts\cloud-run-deploy.ps1 -ProjectId YOUR_PROJECT_ID -Region us-central1Das Skript gibt aus:
https://ga4-mcp-XXXXXXXX-uc.a.run.app
https://ga4-mcp-XXXXXXXX-uc.a.run.app/ga4mcp
https://ga4-mcp-XXXXXXXX-uc.a.run.app/health
https://ga4-mcp-XXXXXXXX-uc.a.run.app/oauth/google/callbackDer Service wird allow unauthenticated bereitgestellt. Das ist erforderlich. Claude.ai verbindet sich von Anthropic (160.79.104.0/21). Die Authentifizierung erfolgt über MCP_AUTH_TOKEN / MCP OAuth, nicht über Cloud Run IAM.
Umgebungsvariablen setzen
.\scripts\cloud-run-set-env.ps1 `
-ProjectId YOUR_PROJECT_ID `
-AppBaseUrl "https://ga4-mcp-XXXXXXXX-uc.a.run.app" `
-GoogleClientId "....apps.googleusercontent.com" `
-GoogleClientSecret "...." `
-McpAuthToken "a-long-random-string"Fügen Sie dann die Cloud Run-Callback-URL zum Google OAuth-Client hinzu, falls noch nicht geschehen.
Google verbinden
Öffnen Sie
https://ga4-mcp-XXXXXXXX-uc.a.run.app/oauth/googleGeben Sie
MCP_AUTH_TOKENeinMelden Sie sich mit Ihrem Google-Konto an
Kopieren Sie
GOOGLE_REFRESH_TOKENvon der ErfolgsseiteSetzen Sie ihn und lassen Sie Cloud Run eine neue Revision starten:
.\scripts\cloud-run-set-env.ps1 `
-ProjectId YOUR_PROJECT_ID `
-AppBaseUrl "https://ga4-mcp-XXXXXXXX-uc.a.run.app" `
-GoogleClientId "....apps.googleusercontent.com" `
-GoogleClientSecret "...." `
-McpAuthToken "a-long-random-string" `
-GoogleRefreshToken "1//...."Cloud Run kann keine Umgebungsvariablen aus dem Container heraus schreiben. Gleiche Regel wie bei jedem serverlosen Host.
Service bestätigen
https://ga4-mcp-XXXXXXXX-uc.a.run.app/healthmuss zurückgeben:
{"status":"ok"}Umgebungsvariablen
Variable | Erforderlich | Zweck |
| Ja | Cloud Run-Origin, ohne abschließenden Schrägstrich |
| Ja | Google OAuth Web-Client-ID |
| Ja | Google OAuth Web-Client-Secret |
| Nein | Standardmäßig |
| Ja | Operator-Setup-Token für Google OAuth und Claude MCP-Zustimmung |
| Nach Google OAuth | Langlebiger Google-Token |
| Nein | Signiert Google OAuth-State-Cookies |
| Nein | Signiert MCP-JWTs. Standardmäßig |
| Nein | Nur für Claude.ai Advanced Settings vertraulichen Client |
| Nein | Paar für diesen optionalen Client |
Setzen Sie diese auf dem Cloud Run-Service. Nicht in Git ablegen.
Optionaler Console-Pfad: Cloud Run → ga4-mcp → Edit & deploy new revision → Variables & secrets.
Claude.ai Custom Connector
Bestätigen Sie, dass
/health{"status":"ok"}zurückgibt.Schließen Sie Google OAuth ab und setzen Sie
GOOGLE_REFRESH_TOKEN.Öffnen Sie in Claude.ai Customize → Connectors → Add custom connector.
Name:
GA4 AnalyticsURL:
https://ga4-mcp-XXXXXXXX-uc.a.run.app/ga4mcpLassen Sie Advanced OAuth Client ID / Secret leer.
Klicken Sie auf Add.
Aktivieren Sie den Connector unter + → Connectors.
Beim ersten GA4-Tool-Aufruf erscheint Connect. Geben Sie
MCP_AUTH_TOKENauf der Zustimmungsseite dieser App ein (nicht Ihr Google-Passwort).Fragen Sie: Wie viele Nutzer hatte ich gestern?
Manuelles gcloud (falls Sie die Skripte nicht verwenden möchten)
gcloud artifacts repositories create ga4-mcp --repository-format=docker --location=us-central1
gcloud builds submit --config cloudbuild.yaml --substitutions=_REGION=us-central1
gcloud run services describe ga4-mcp --region us-central1 --format="value(status.url)"
gcloud run services update ga4-mcp --region us-central1 --update-env-vars APP_BASE_URL=https://...,GOOGLE_CLIENT_ID=...,GOOGLE_CLIENT_SECRET=...,GOOGLE_REDIRECT_URI=https://.../oauth/google/callback,MCP_AUTH_TOKEN=...Sicherheit
Protokollieren Sie niemals Google-Tokens, Autorisierungscodes, Client-Secrets oder MCP-JWTs.
MCP-Tools geben niemals Secrets zurück.
Nur
GOOGLE_REFRESH_TOKENwird als Cloud Run-Umgebungsvariable gespeichert.Der Cloud Run-Ingress ist öffentlich, damit Claude sich verbinden kann. Stellen Sie kein Cloud IAP / IAM-Login vor
/ga4mcp.Generieren Sie ein langes, zufälliges
MCP_AUTH_TOKEN.
Daten
Unverändert an GA4 übergeben: today, yesterday, 7daysAgo, 30daysAgo, 90daysAgo oder YYYY-MM-DD. Die Dimension date wird als YYYYMMDD zurückgegeben.
Bekannte Einschränkungen
Ein Google-Konto und ein Refresh Token.
Cloud Run kann keine Datei persistieren oder Umgebungsvariablen zur Laufzeit ändern; setzen Sie
GOOGLE_REFRESH_TOKENund stellen Sie eine neue Revision bereit.Google-Testmodus-Refresh-Tokens laufen nach etwa 7 Tagen ab.
Echtzeitdaten umfassen ungefähr die letzten 30 Minuten.
Die Berichtsgröße ist auf 10.000 Zeilen begrenzt.
Kalte Starts können einige Sekunden dauern, wenn
min-instancesauf 0 gesetzt ist.
Für Cloud Run hinzugefügte Dateien
Datei | Zweck |
| Produktions-Image für Next.js standalone |
| Image bauen und Cloud Run bereitstellen |
| APIs und Artifact Registry aktivieren |
| Bauen und bereitstellen |
| Cloud Run-Umgebungsvariablen setzen |
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for GA4, Google Ads and Search Console. Google OAuth, nothing to install.
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Connect Google Analytics to ChatGPT. Query GA4 data in plain English and get instant insights.
Ask Claude, ChatGPT, Cursor or any AI tool how your site is doing — the answers come from your own Google Analytics 4 (GA4) property. Paste https://app.anacraft.dev/mcp, sign in with Google and pick your site; nothing to install. Twelve tools: headline metrics against the previous period, live visitors, top pages, events, referrers, traffic sources and countries, page and event search, and an audit that checks whether the GA4 property is measuring correctly before its numbers are quoted. One tool writes: it creates a GA4 property and web stream for a new domain and returns the tag to paste.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables LLM applications to query Google Analytics 4 data through standard MCP interfaces, supporting real-time data, custom reports, and metadata discovery.563 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying Google Analytics 4 data using natural language through MCP clients like Claude and Cursor, supporting 200+ dimensions and metrics for traffic, user behavior, and e-commerce analysis.MIT
- AlicenseAqualityDmaintenanceEnables querying Google Analytics 4 properties using natural language through MCP clients. Supports customizable reports with any dimensions and metrics, listing properties, and real-time data.4MIT
- FlicenseNot gradedqualityCmaintenanceProduction-ready MCP server integrating Google Search Console, GA4, and PageSpeed Insights for SEO and analytics intelligence, enabling natural-language queries to Google analytics data.-