GA4 MCP Server Gemini CLI接続手順【2026年版】

🤖 AIでこの記事を要約・質問する

GA4 MCPサーバーをGemini CLIに接続する方法

本記事では、GA4(Google Analytics 4)のMCPサーバーをGoogle Gemini CLIに接続する手順を解説します。Gemini CLIはGoogleが提供するオープンソースのコマンドラインAIエージェントで、ターミナル上からGeminiの機能を利用できます。既にCloud RunにデプロイしたGA4 MCPサーバーをそのまま活用し、Streamable HTTP + OAuth 2.0 Dynamic Discoveryで接続します。

📌 前提条件

本記事は、GA4 MCPサーバーが既にCloud Runにデプロイされていることを前提としています。まだデプロイしていない場合は、先にChatGPT版の接続手順書のステップ5〜7を実施してください。

📋 GA4 MCP Serverシリーズ記事

1. Gemini CLIとは

Gemini CLIは、Googleが2025年にオープンソースとして公開したAIエージェントツールです。通常のGeminiウェブアプリ(gemini.google.com)はカスタムMCPサーバーに非対応ですが、Gemini CLIはMCPサーバーへの接続をサポートしており、GA4データの自然言語での分析が可能になります。

項目内容
提供形態コマンドラインツール(ターミナル操作)
インストールnpm(Node.jsパッケージマネージャー)
MCPサポートStdio / SSE / Streamable HTTP
認証方式OAuth 2.0 Dynamic Discovery / Google認証情報 / サービスアカウント
料金無料(Googleアカウントが必要)

2. ChatGPT・Copilot Studioとの違い

GA4 MCPサーバーはChatGPT、Microsoft Copilot Studio、Gemini CLIの3つのプラットフォームで利用できます。それぞれの特徴を比較します。

項目ChatGPTCopilot StudioGemini CLI
操作環境WebブラウザWebブラウザターミナル
設定方法GUI画面GUI画面JSONファイル編集
OAuth設定自動(DCR)動的検出動的検出
リダイレクトURIchatgpt.com/…azure-apim.net/…http://localhost/oauth/callback
ライセンス有料無料トライアルあり無料

ChatGPTと同じCloud Run上のGA4 MCPサーバーをそのまま利用できますが、Gemini CLI対応のためにサーバー側の軽微な修正(1行のみ)とCloud Runの再デプロイが必要です。

3. MCPサーバーの更新(Gemini CLI対応)

Gemini CLIは、OAuth認証時にサーバーの .well-known/oauth-protected-resource エンドポイントが返す resource フィールドと、settings.jsonhttpUrl が完全一致することを検証します。現在のサーバーではこの値が一致しないため、修正が必要です。

3.1 エラーの内容

修正前のサーバーでGemini CLIのMCP認証を行うと、以下のエラーが発生します。

Failed to authenticate with MCP server 'ga4-analytics':
Protected resource https://ga4-mcp-v2-xxxx.us-central1.run.app
does not match expected
https://ga4-mcp-v2-xxxx.us-central1.run.app/mcp

サーバーの /.well-known/oauth-protected-resource が返す resourcehttps://...run.app(末尾に /mcp なし)であるのに対し、Gemini CLIは httpUrl の値 https://...run.app/mcp との一致を検証するためです。

3.2 http_server.pyの修正

Cloud Runのソースコードフォルダにある http_server.py を開き、oauth_protected_resource 関数の1行だけを変更します。

変更前:

"resource": base,

変更後:

"resource": f"{base}/mcp",

ChatGPT・Copilot Studioへの影響はありません

この変更はChatGPTやCopilot Studioの接続に影響しません。これらのプラットフォームは resource フィールドの厳密な検証を行わないため、安全に変更できます。

3.3 Cloud Runへの再デプロイ

ファイルを保存したら、PowerShellでソースコードのフォルダに移動し、以下のコマンドでCloud Runに再デプロイします。

gcloud run deploy ga4-mcp-v2 --source . --region=us-central1

デプロイが完了したら、ブラウザで以下のURLにアクセスし、resource/mcp が付いていることを確認してください。

https://ga4-mcp-v2-xxxx.run.app/.well-known/oauth-protected-resource

4. 前提条件の確認

4.1 必要な環境

  • Node.js: v18以上(Gemini CLIの実行に必要)
  • npm: Node.jsに付属(パッケージマネージャー)
  • Googleアカウント: Gemini CLIの利用に必要
  • GA4 MCPサーバー: Cloud Runにデプロイ済みであること
  • Google Cloud Console: OAuthクライアントIDの編集権限

4.2 Node.jsの確認とインストール

Gemini CLIはNode.jsが必要です。PowerShellで以下を実行して確認します。

node --version

v18以上が表示されればOKです。表示されない場合は https://nodejs.org/ja からインストールしてください。ChatGPT接続手順書でデプロイ作業を行った際にNode.jsをインストール済みであれば、追加のインストールは不要です。

4.3 準備する情報

項目
MCPサーバーURLhttps://ga4-mcp-v2-xxxx.us-central1.run.app/mcp
SERVICE_URLhttps://ga4-mcp-v2-xxxx.us-central1.run.app
Google OAuthクライアントIDxxxx.apps.googleusercontent.com

5. Gemini CLIのインストールと初期設定

5.1 Gemini CLIのインストール

PowerShellを開き、以下のコマンドでGemini CLIをグローバルインストールします。

npm install -g @google/gemini-cli

 

インストール完了後、以下で確認します。

gemini --version

npxでも実行可能

グローバルインストールせずに npx @google/gemini-cli でも実行できますが、毎回ダウンロードが発生するためグローバルインストールを推奨します。

5.2 初回起動とGoogleアカウント認証

PowerShellで gemini を実行してGemini CLIを起動します。初回起動時はブラウザが開き、Googleアカウントでのログインを求められます。ログインしてアクセスを許可すると、ターミナルにGemini CLIのインタラクティブ画面が表示されます。

ターミナルに「>」プロンプトが表示されれば、Gemini CLIのセットアップは完了です。一旦 /exit で終了し、次のMCPサーバー設定に進みます。

6. MCPサーバーの接続設定

6.1 リダイレクトURIの事前登録

Gemini CLIのOAuth認証では、コールバック先としてローカルの localhost を使用します。Google Cloud Consoleに事前登録が必要です。

  1. Google Cloud Consoleを開きます
  2. 「APIとサービス」→「認証情報」を選択します
  3. 対象のOAuth 2.0クライアントIDをクリックします
  4. 「承認済みのリダイレクトURI」に以下を追加します:
http://localhost/oauth/callback
  1. 「保存」をクリックします

ポート番号について

Gemini CLIは実際には http://localhost:XXXXX/oauth/callback のようにランダムなポート番号を使用します。Googleの仕様では、http://localhost のリダイレクトURIを登録すると、ポート番号が異なっても自動的にマッチします(localhostループバックの特別扱い)。パス部分(/oauth/callback)は完全一致が必要です。

重要: 反映に時間がかかります

リダイレクトURIの変更が反映されるまで最低5分程度かかります。保存後すぐに認証を試すとエラーになる場合があります。また、既存のリダイレクトURI(ChatGPT用・Copilot Studio用)は削除しないでください。複数のリダイレクトURIを並列で登録できます。

6.2 settings.jsonの作成

Gemini CLIのMCPサーバー設定は、settings.json ファイルに記述します。以下のフォルダに作成してください。

ファイルパス: C:\Users\[ユーザー名]\.gemini\settings.json

{
  "mcpServers": {
    "ga4-analytics": {
      "httpUrl": "https://ga4-mcp-v2-xxxx.us-central1.run.app/mcp",
      "oauth": {
        "enabled": true
      }
    }
  }
}

URLを書き換えてください

xxxx 部分を実際のCloud RunのサービスURLに置き換えてください。URLの末尾に /mcp を忘れずに付けてください。

OAuth Dynamic Discoveryの仕組み

"oauth": { "enabled": true } と設定するだけで、Gemini CLIが自動的にMCPサーバーの /.well-known/oauth-authorization-server/.well-known/openid-configuration エンドポイントを検出します。Client IDやToken URLの手動入力は不要です。

6.3 PowerShellでのファイル作成コマンド

テキストエディタを使わず、PowerShellだけで設定ファイルを作成することもできます。

# .geminiフォルダを作成(存在しない場合)
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.gemini"

# settings.jsonを作成
@'
{
  "mcpServers": {
    "ga4-analytics": {
      "httpUrl": "https://ga4-mcp-v2-xxxx.us-central1.run.app/mcp",
      "oauth": {
        "enabled": true
      }
    }
  }
}
'@ | Out-File -Encoding utf8 "$env:USERPROFILE\.gemini\settings.json"

7. OAuth認証と動作確認

7.1 Gemini CLIの起動とMCP認証

PowerShellでGemini CLIを起動し、MCPサーバーの認証を実行します。

gemini

Gemini CLIのプロンプト内で、以下のコマンドを実行します。

/mcp auth ga4-analytics

ブラウザが自動的に開き、Googleアカウントのログイン画面が表示されます。GA4にアクセス権があるアカウントでログインし、アクセスを許可してください。認証が成功すると、ターミナルに成功メッセージが表示されます。

トークンの保存先

OAuthトークンは ~/.gemini/mcp-oauth-tokens.json に自動保存されます。次回以降は自動的にトークンが使用され、再認証は不要です。トークンの期限が切れた場合は自動リフレッシュされます。

7.2 MCPサーバーの接続確認

接続中のMCPサーバーとツールを確認するには、以下のコマンドを実行します。

/mcp

以下のようなツールが表示されるはずです。

ツール名説明
list_accountsGA4アカウントの一覧を取得
list_propertiesGA4プロパティの一覧を取得
run_reportGA4レポートデータの取得
run_realtime_reportリアルタイムデータの取得

7.3 テスト実行

Gemini CLIのプロンプトで、以下のように質問してみましょう。

> GA4で利用可能なアカウントを一覧表示してください

> 過去7日間のPV数をページ別に教えてください

GA4データが返ってくれば、接続は正常です。今後は gemini コマンドを実行するだけで、GA4データを利用した分析が可能になります。

8. 便利なコマンドと設定ファイル

8.1 MCP関連コマンド

コマンド説明
/mcpMCPサーバーの接続状況とツール一覧を表示
/mcp auth ga4-analyticsGA4 MCPサーバーのOAuth認証を実行
/tools利用可能なツールの一覧を表示
/exitGemini CLIを終了

8.2 設定ファイルの位置

ファイルパス用途
settings.json~/.gemini/settings.jsonMCPサーバーの接続設定
mcp-oauth-tokens.json~/.gemini/mcp-oauth-tokens.jsonOAuthトークンの保存先

プロジェクト単位の設定も可能

プロジェクトフォルダに .gemini/settings.json を置くと、そのプロジェクト内でのみ有効な設定として使えます。

9. トラブルシューティング

9.1 redirect_uri_mismatchエラー

症状: ブラウザで「エラー 400: redirect_uri_mismatch」が表示される。

原因: Google Cloud ConsoleにリダイレクトURIが登録されていない、または反映待ち。

解決方法:

  1. Google Cloud Consoleで「承認済みのリダイレクトURI」に http://localhost/oauth/callback を追加
  2. 保存後、5分以上待ってから再試行

9.2 MCPサーバーが接続されない

  • settings.json のパスが正しいか確認(~/.gemini/settings.json
  • JSONのフォーマットが正しいか確認(カンマや括弧の誤り)
  • httpUrl の末尾に /mcp が付いているか確認
  • Cloud Runのサービスが稼働中か確認

9.3 認証トークンのリセット

認証に問題がある場合、トークンを削除して再認証できます。

# Windows (PowerShell)
Remove-Item "$env:USERPROFILE\.gemini\mcp-oauth-tokens.json"

# その後、Gemini CLIを再起動して再認証
gemini
/mcp auth ga4-analytics

9.4 Protected resource does not match expected

症状: /mcp auth 実行時に「Protected resource … does not match expected」エラーが表示される。

原因: http_server.pyresource フィールドに /mcp が付いていない。

解決方法: セクション3の手順に従い、http_server.py を修正してCloud Runに再デプロイしてください。

9.5 Cloud Runログの確認

問題が解決しない場合は、Cloud Runのログを確認してください。

gcloud run services logs read ga4-mcp-v2 --region=us-central1 --limit=50

セットアップチェックリスト

No.確認項目
1http_server.pyのresourceフィールドを修正した
2Cloud Runに再デプロイした
3Node.js v18以上がインストール済みである
4Gemini CLIをインストールした
5GoogleアカウントでGemini CLIにログインした
6Google Cloud Consoleで http://localhost/oauth/callback を追加した
7~/.gemini/settings.json を作成した
8/mcp auth ga4-analytics でOAuth認証が成功した
9/mcp でツール一覧が表示された
10GA4データの取得テストが成功した

最後に

Gemini CLIを使うことで、ターミナルから直接GA4データにアクセスし、自然言語でGA4データの分析ができるようになりました。Googleアカウントがあれば無料で利用できるため、コマンドライン操作に慣れている方にとっては非常に便利な選択肢です。

GA4 MCPサーバーはClaude Desktop(Claude版の手順はこちら)、ChatGPT(ChatGPT版の手順はこちら)、Microsoft Copilot Studio(Copilot版の手順はこちら)でも利用できます。お使いのAIツールに合わせてお試しください。

小川卓

ウェブアナリストとして、マイクロソフト、ウェブマネー、リクルート、サイバーエージェント、アマゾンジャパンなどで勤務後、HAPPY ANALYTICS代表取締役に就任。全国での講演は600回を超える。

Google Analytics 4のセミナー講座販売中
活用・実装・改善・LookerStudioなど3時間半で学べる動画+資料を買い切り販売中です。一度購入いただくと、随時アップデートも行われます。