GA4 Analytics MCP
GA4 Analytics MCP
Claude.ai カスタムコネクタ向けの個人用 Google Analytics 4 コネクタ。Google Cloud Run 上でホストします。
Claude.ai Custom Connector
→ https://ga4-mcp-xxxxx-uc.a.run.app/ga4mcp
→ Cloud Run
→ Google Analytics Data API
→ your GA4 propertiesローカルの stdio サーバー、npx の要件、claude_desktop_config.json はありません。
2つの認証レイヤーは分離されています。
Claude → MCP: MCP OAuth(CIMD / DCR)
MCP → Google:
GOOGLE_REFRESH_TOKENに保存された Google OAuth リフレッシュトークン
MCP ツール
ツール | 目的 |
| 接続された Google アカウントのプロパティを検出 |
| 有効なディメンションと指標を一覧表示 |
| 過去の GA4 レポート |
| 直近約30分 |
Related MCP server: Google Analytics MCP Server
ローカル開発
npm install
copy .env.example .env.local.env.local に記入し、以下のコマンドを実行します。
npm run devアプリ:
http://localhost:3000MCP:
http://localhost:3000/ga4mcpGoogle OAuth:
http://localhost:3000/oauth/googleヘルスチェック:
http://localhost:3000/health
npm test
npm run buildClaude.ai は localhost に接続できません。カスタムコネクタを追加する前に、Cloud Run にデプロイしてください。
Google Cloud のセットアップ(単一プロジェクト)
API、OAuth、Cloud Run に同じ Google Cloud プロジェクトを使用します。
1. インストールとログイン
Google Cloud SDK をインストールします。
次のコマンドを実行します。
gcloud auth login
gcloud auth application-default loginGoogle Cloud コンソールでプロジェクトを作成または選択します。
gcloud config set project YOUR_PROJECT_ID2. API を有効化
.\scripts\cloud-run-setup.ps1 -ProjectId YOUR_PROJECT_ID -Region us-central1これにより以下が有効になります。
Cloud Run
Cloud Build
Artifact Registry
Google Analytics Data API
Google Analytics Admin API
またはコンソールで有効化するには、API とサービス → ライブラリ に移動します。
3. OAuth 同意画面とウェブクライアント
この Google OAuth クライアントは、Cloud Run が GA4 データを読み取るためのものです。Claude.ai の詳細設定クライアントではありません。
API とサービス → OAuth 同意画面 を開きます。
ユーザータイプ: 個人の Gmail アカウントの場合は 外部。
アプリ名:
GA4 MCP。テストモードの場合は、自分自身をテストユーザーとして追加します。
リフレッシュトークンが7日後に期限切れにならないよう、本番 に公開します。
OAuth クライアント ID の認証情報を作成します。
アプリケーションの種類: ウェブアプリケーション。
承認済みのリダイレクト URI(両方を追加):
http://localhost:3000/oauth/google/callbackhttps://ga4-mcp-XXXXXXXX-uc.a.run.app/oauth/google/callback
(初回デプロイ後に実際の Cloud Run URL を使用)
このアプリで使用するスコープ:
https://www.googleapis.com/auth/analytics.readonlyクライアント ID とクライアントシークレットをコピーします。コミットしないでください。
承認する Google アカウントは、Claude がクエリする GA4 プロパティにすでにアクセス権を持っている必要があります。
Cloud Run にデプロイ
デフォルトのサービス名: ga4-mcp。デフォルトのリージョン: us-central1。
.\scripts\cloud-run-deploy.ps1 -ProjectId YOUR_PROJECT_ID -Region us-central1スクリプトが以下を出力します。
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/callbackサービスは 認証なしで許可 してデプロイされます。これは必須です。Claude.ai は Anthropic(160.79.104.0/21)から接続します。認証は、Cloud Run IAM ではなく、MCP_AUTH_TOKEN / MCP OAuth です。
環境変数の設定
.\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"次に、まだ行っていない場合は、Cloud Run のコールバック URL を Google OAuth クライアントに追加します。
Google の接続
https://ga4-mcp-XXXXXXXX-uc.a.run.app/oauth/googleを開くMCP_AUTH_TOKENを入力Google アカウントでサインイン
成功ページから
GOOGLE_REFRESH_TOKENをコピー設定し、Cloud Run に新しいリビジョンを開始させる。
.\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 はコンテナ内から環境変数を書き込めません。サーバーレスホストと同じルールです。
サービスの確認
https://ga4-mcp-XXXXXXXX-uc.a.run.app/health次のように返される必要があります。
{"status":"ok"}環境変数
変数 | 必須 | 目的 |
| はい | Cloud Run のオリジン(末尾にスラッシュなし) |
| はい | Google OAuth ウェブクライアント |
| はい | Google OAuth ウェブクライアントシークレット |
| いいえ | デフォルトは |
| はい | Google OAuth および Claude MCP 同意画面用のオペレーターセットアップトークン |
| Google OAuth 後 | 長期有効な Google トークン |
| いいえ | Google OAuth 状態 cookie に署名 |
| いいえ | MCP JWT に署名。デフォルトは |
| いいえ | Claude.ai 詳細設定の機密クライアントのみ |
| いいえ | そのオプションのクライアントとペア |
これらを Cloud Run サービスに設定します。Git に含めないでください。
オプションのコンソールパス: Cloud Run → ga4-mcp → 編集して新しいリビジョンをデプロイ → 変数とシークレット。
Claude.ai カスタムコネクタ
/healthが{"status":"ok"}を返すことを確認します。Google OAuth を完了し、
GOOGLE_REFRESH_TOKENを設定します。Claude.ai で カスタマイズ → コネクタ → カスタムコネクタを追加 を開きます。
名前:
GA4 AnalyticsURL:
https://ga4-mcp-XXXXXXXX-uc.a.run.app/ga4mcp詳細設定の OAuth クライアント ID / シークレットは空のままにします。
追加 をクリックします。
+ → コネクタ でコネクタを有効にします。
最初の GA4 ツール呼び出しで 接続 が表示されます。このアプリの同意画面で
MCP_AUTH_TOKENを入力します(Google パスワードではありません)。質問: 昨日のユーザー数は何人でしたか?
手動 gcloud(スクリプトを使用しない場合)
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=...セキュリティ
Google トークン、認証コード、クライアントシークレット、MCP JWT をログに記録しないでください。
MCP ツールはシークレットを返しません。
GOOGLE_REFRESH_TOKENのみが Cloud Run の環境変数として永続化されます。Claude が接続できるように Cloud Run のイングレスは公開されています。
/ga4mcpの前に Cloud IAP / IAM ログインを配置しないでください。長くランダムな
MCP_AUTH_TOKENを生成してください。
日付
GA4 にそのまま渡されます: today、yesterday、7daysAgo、30daysAgo、90daysAgo、または YYYY-MM-DD。date ディメンションは YYYYMMDD として返されます。
既知の制限
1つの Google アカウントと1つのリフレッシュトークン。
Cloud Run はファイルを永続化したり、実行時に環境変数を変更したりできません。
GOOGLE_REFRESH_TOKENを設定し、新しいリビジョンをデプロイしてください。Google のテストモードのリフレッシュトークンは約7日後に期限切れになります。
リアルタイムデータはおおよそ直近30分です。
レポートサイズは最大10,000行に制限されています。
min-instancesが0の場合、コールドスタートにより数秒追加されることがあります。
Cloud Run 用に追加されたファイル
ファイル | 目的 |
| 本番用 Next.js スタンドアロンイメージ |
| イメージのビルドと Cloud Run のデプロイ |
| API と Artifact Registry の有効化 |
| ビルドとデプロイ |
| Cloud Run 環境変数の設定 |
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.-