Skip to main content
Glama
devopsbrandmirchi

GA4 Analytics MCP

GA4 Analytics MCP

Claude.aiのカスタムコネクタ向け個人用Google Analytics 4コネクタです。1つのGoogleアカウント、1つのMCPサーバーをVercel上にデプロイします。

Claude.ai Custom Connector
  → https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcp
  → Vercel Streamable HTTP MCP
  → Google Analytics Data API
  → your GA4 properties

ローカルのstdioサーバーはなく、npxの要件もなく、claude_desktop_config.jsonもありません。

2つの認証層は分離されています。

  1. Claude → MCP: MCP OAuth(CIMD / DCR / オプションのAdvanced Settingsクライアント)

  2. MCP → Google: GOOGLE_REFRESH_TOKENに保存されたGoogle OAuthリフレッシュトークン

MCPツール

ツール

目的

ga4_list_properties

接続されたGoogleアカウントのプロパティを検出

ga4_get_metadata

有効なディメンションと指標を一覧表示

ga4_run_report

過去のGA4レポート

ga4_run_realtime_report

直近約30分

ローカル開発

npm install
copy .env.example .env.local

.env.localに記入してから、次の手順を実行します。

npm run dev
  • アプリ: http://localhost:3000

  • MCP: http://localhost:3000/ga4mcp

  • Google OAuth: http://localhost:3000/oauth/google

  • ヘルスチェック: http://localhost:3000/health

npm test
npm run build

Claude.aiはlocalhostにアクセスできません。カスタムコネクタを追加する前にVercelにデプロイしてください。

Google Cloudの設定

これはMCPサーバーがGA4データを読み取るためのものであり、Claude.aiのコネクタOAuthクライアントではありません。

  1. Google Cloudプロジェクトを作成または選択します。

  2. Google Analytics Data APIを有効にします。

  3. Google Analytics Admin APIを有効にします。

  4. OAuth同意画面を設定します(個人用Gmailの場合は外部)。リフレッシュトークンが7日後に期限切れにならないよう、本番環境に公開します。

  5. WebアプリケーションタイプのOAuthクライアントを作成します。

  6. 承認済みのリダイレクトURI:

    • http://localhost:3000/oauth/google/callback

    • https://<VERCEL_PROJECT_NAME>.vercel.app/oauth/google/callback

  7. このアプリで使用するスコープ:

    https://www.googleapis.com/auth/analytics.readonly
  8. クライアントIDとシークレットを環境変数にコピーします。

次に、/oauth/googleにアクセスし、MCP_AUTH_TOKENを入力して、GA4プロパティを所有するGoogleアカウントでサインインします。

  • ローカルでは、リフレッシュトークンは.env.localに書き込まれます。

  • Vercelでは、GOOGLE_REFRESH_TOKENをプロジェクトの環境変数に貼り付け、再デプロイします。

環境変数

変数

必須

目的

APP_BASE_URL

はい

公開元のURL、末尾スラッシュなし。本番環境: https://<VERCEL_PROJECT_NAME>.vercel.app

GOOGLE_CLIENT_ID

はい

Google OAuthウェブクライアントID

GOOGLE_CLIENT_SECRET

はい

Google OAuthウェブクライアントシークレット

GOOGLE_REDIRECT_URI

いいえ

デフォルトは${APP_BASE_URL}/oauth/google/callback

MCP_AUTH_TOKEN

はい

Google OAuthおよびClaude MCP同意のためのオペレーター設定トークン

GOOGLE_REFRESH_TOKEN

Google OAuthの後

長期有効なGoogleトークン

OAUTH_STATE_SECRET

いいえ

Google OAuth状態のCookieに署名

MCP_TOKEN_SECRET

いいえ

MCPアクセス/リフレッシュJWTに署名。デフォルトはMCP_AUTH_TOKEN

MCP_OAUTH_CLIENT_ID

いいえ

Claude.ai Advanced Settingsの機密クライアントを使用する場合のみ

MCP_OAUTH_CLIENT_SECRET

いいえ

オプションの機密クライアントのペア

Vercel

npm i -g vercel
vercel
vercel --prod

Vercelプロジェクトに環境変数を追加します。本番環境で初回のGoogle OAuthを行った後、GOOGLE_REFRESH_TOKENを設定して再デプロイします。

本番環境ではDeployment Protection / Vercel Authenticationを無効にしてください。 Claude.aiはAnthropicのネットワーク(160.79.104.0/21)から接続します。Vercel SSOが/ga4mcpの前に配置されている場合、コネクタは接続できません。

本番環境のURL:

https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcp
https://<VERCEL_PROJECT_NAME>.vercel.app/oauth/google/callback
https://<VERCEL_PROJECT_NAME>.vercel.app/health

カスタムドメインは後からオプションで設定可能です。コード変更が不要なようにAPP_BASE_URLを引き続き使用してください。

Claude.aiカスタムコネクタ

  1. Vercelにデプロイし、https://<VERCEL_PROJECT_NAME>.vercel.app/health{"status":"ok"}を返すことを確認します。

  2. https://<VERCEL_PROJECT_NAME>.vercel.app/oauth/googleでGoogleと接続します。

  3. GOOGLE_REFRESH_TOKENをVercelの環境変数に設定し、再デプロイします。

  4. Claude.aiでカスタマイズ → コネクタ → カスタムコネクタを追加を開きます。

  5. 名前: GA4 Analytics

  6. URL:

    https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcp
  7. Advanced OAuthクライアントID / シークレットは空のままにします。Claudeはこのサーバーの認証エンドポイントに対してCIMDを使用します。

  8. 追加をクリックします。

  9. チャットの**+ → コネクタ**メニューでコネクタを有効にします。

  10. 最初のGA4ツール呼び出しで接続カードが表示されます。このアプリの同意ページでMCP_AUTH_TOKENを入力します(Googleのパスワードではありません)。

  11. 質問: 昨日のユーザー数は何人でしたか?

initializetools/listは公開されているため、Claudeはツールを検出できます。tools/callは、MCP OAuthが完了するまでHTTP 401とWWW-Authenticateを返します。

セキュリティ

  • Googleトークン、認可コード、クライアントシークレット、MCP JWTをログに記録しないでください。

  • MCPツールはシークレットを返しません。

  • Googleアクセストークンは保存されません。環境変数にはGOOGLE_REFRESH_TOKENのみが保持されます。

  • シークレットをGitに入れないでください。

日付

GA4にそのまま渡されます: todayyesterday7daysAgo30daysAgo90daysAgo、またはYYYY-MM-DDdateディメンションはYYYYMMDDとして返されます。

既知の制限事項

  • 1つのGoogleアカウントと1つのリフレッシュトークン。

  • Vercelは実行時に環境変数を書き込めません。GOOGLE_REFRESH_TOKENを貼り付けて再デプロイしてください。

  • Googleのテストモードのリフレッシュトークンは約7日で期限切れになります。

  • リアルタイムデータはおよそ直近30分です。

  • レポートサイズは10,000行に制限されています。

  • このリポジトリからライブのClaude.aiクリックスルーを完了することはできません。それにはあなたのClaudeアカウントとVercelアカウントが必要です。

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devopsbrandmirchi/Ga4McpServer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server