
やっほー!今日はAIエージェントからGA4を直接分析するための、MCPサーバー導入手順を解説するよ!
つまずきやすいエラーの回避方法も教えちゃうから、一緒に見ていこうね!
1. はじめに
最近話題の「MCP (Model Context Protocol)」。これを使うと、デスクトップのAIエージェントから直接 Google Analytics 4 (GA4) のデータを自然言語のまま取得・分析できるようになります。 Gemini や Claude Desktop、さらに Antigravity などの環境で GA4 を分析する新しい使い方です。
「先週のセッション数の推移を教えて」
「最も閲覧されているページのタイトルと表示回数は?」
といった指示を出すだけで、わざわざGA4の画面を開かなくてもAIがレポートを即座に作成してくれます。
本記事では、「GA4 MCPを初めて設定する」という方に向けて、公式の analytics-mcp を使った具体的な使い方・導入手順と、設定時によく発生する GA4 MCP エラー の回避方法を詳しく解説します。
2. 事前準備
以下の環境が揃っていることを確認してください。
- Google Cloud プロジェクト: 作成済みであること
- Python 3.10以上: サーバーの実行に必要
- pipx: Pythonパッケージの実行に使用(
pip install pipxまたはbrew install pipx) - GA4 プロパティ ID: 分析対象となるサイトのもの
3. Google Cloudの設定と認証情報
まずはAIがGA4のデータにアクセスできるよう、APIの有効化と認証情報(サービスアカウント)の準備を行います。
3.1. APIの有効化
Google Cloud Console にアクセスし、以下の2つのAPIを検索して有効化します。
- Google Analytics Data API (データ抽出用)
- Google Analytics Admin API (アカウント・プロパティ情報の取得、権限管理用)

3.2. サービスアカウントの作成
AIが使用する専用のアカウントを発行します。
「IAM と管理」 > 「サービス アカウント」から新しいアカウントを作成してください。
完了後、キー(JSON形式)を生成してダウンロードし、ローカルの安全な場所(例: ~/.config/ga4-mcp-key.json)に保存します。
公式のREADMEでは ADC (Application Default Credentials) 方式が推奨されていますが、本記事ではより汎用的なサービスアカウントのキーを発行して利用する手順を解説します。

4. GA4への権限追加とエラー回避策
作成したサービスアカウントにGA4の閲覧権限を付与します。
4.1. 通常の手順
- GA4の管理画面へ移動
- 「プロパティ設定」 > 「プロパティのアクセス管理」を開く
- サービスアカウントのメールアドレスを追加し、「閲覧者(Viewer)」 以上のロールを付与して保存
4.2. GA4 MCP連携時のよくあるエラーと回避策(トラブルシューティング)
サービスアカウントを登録しようとすると、GA4の管理画面上で以下のようなエラー文言が表示され、ユーザーの追加が弾かれてしまうことがあります。
「このメールアドレスは Google アカウントと一致しません」
(英語環境の場合:"This email does not match a Google account")

これは、サービスアカウントのメールアドレスが通常のGoogle Workspaceアカウント等として認識されないために起きる、GA4 UI画面特有の制約エラーです。このエラーが発生した場合は、管理画面からではなく Google Analytics Admin API を直接叩いてAPI経由で権限を付与することで回避できます。
4.2.1. アクセストークンの取得
通常の gcloud コマンドで取れるトークンではスコープ不足になるため、OAuth 2.0 Playground を使います。

- 左側の Step 1 の一番下「Input your own scopes」に
https://www.googleapis.com/auth/analytics.manage.usersを入力し「Authorize APIs」をクリック。 - GA4の管理者権限を持つ自分のGoogleアカウントでログインして許可します。
- Step 2 に進み「Exchange authorization code for tokens」をクリック。
- 表示された
Access token(ya29.から始まる文字列)をコピーします。
4.2.2. API経由での権限追加
ターミナルを開き、以下のコマンドの変数を書き換えて実行します(アカウント単位で権限を付与する場合の例です)。
TOKEN="<取得したトークン>"
ACCOUNT_ID="<あなたのアカウントID>"
SA_EMAIL="<サービスアカウントのメールアドレス>"
curl -X POST \
"https://analyticsadmin.googleapis.com/v1alpha/accounts/$ACCOUNT_ID/accessBindings" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{ \"user\": \"$SA_EMAIL\", \"roles\": [\"predefinedRoles/viewer\"] }"
※プロパティ単位の場合は、URLを .../properties/$PROPERTY_ID/accessBindings に変更してください。
これで無事にエラーを回避して権限を付与できます!
5. MCPサーバーの構成設定
最後に、AIエージェント(MCPクライアント)側の設定ファイルに MCP サーバーを登録します。今回は pipx 経由で公式の analytics-mcp を起動させます。
5.1. Antigravity (Gemini) の場合
Antigravity(Gemini)と GA4 を連携させるための設定です。~/.gemini/settings.json に以下を追記します。
{
"mcpServers": {
"analytics-mcp": {
"command": "pipx",
"args": ["run", "analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID"
}
}
}
}
5.2. Claude Desktop の場合
ClaudeからGA4を利用するための設定です。~/Library/Application Support/Claude/claude_desktop_config.json に以下を追記します。
※Windowsの場合は %APPDATA%\Claude\claude_desktop_config.json となります。
{
"mcpServers": {
"ga4": {
"command": "pipx",
"args": ["run", "analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID"
}
}
}
}
6. まとめ
設定ファイルを保存し、AIエージェントを再起動すれば準備完了です。 日々の定点観測や、ちょっとした異常値の調査など、GA4の画面を開かずに手元のチャットUIで完結する体験は非常に快適です。ぜひ試してみてください!

お疲れ様!無事に設定できたかな?
エラー回避の裏技を知っておくと、他のAPIを使うときにも役立つかもしれないね!またねー!