Google アナリティクスの MCP サーバーを試す

Google アナリティクス Model Context Protocol(MCP)サーバーを使用すると、Google アナリティクスのデータを大規模言語モデル(LLM)や Gemini などの AI エージェントに接続できます。MCP サーバーを使用すると、自然言語でレポートをクエリしたり、プロパティ構成を検査したり、カスタム分析エージェントを構築したりできます。

MCP サーバーを設定する GitHub で表示 設定チュートリアルを見る

前提条件

Google アナリティクス MCP サーバーを構成する前に、次の要件を満たしてください。

  1. Python とパッケージ ランナーをインストールします。
    • Python 3.10 以降をインストールします。
    • pipx または uv(uvx)をインストールして、隔離された Python 環境で MCP サーバーを実行します。
  2. で Google アナリティクス API を有効にします。

  3. Google アナリティクスのプロパティへのアクセス権を付与する:

認証を設定する

Google アナリティクス MCP サーバーは、読み取り専用の Google アナリティクス OAuth 2.0 スコープでアプリケーションのデフォルト認証情報(ADC)を使用して認証します。

https://www.googleapis.com/auth/analytics.readonly

ADC は、Google ユーザー アカウントまたはサービス アカウントを使用して構成できます。

オプション 1: ユーザー認証情報で認証する

  1. gcloud CLI をインストールして初期化する。
  2. 必要なスコープを指定して gcloud auth application-default login を実行します。

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform"
    

    ダウンロードした OAuth 2.0 デスクトップまたはウェブ クライアントの構成ファイルを使用する場合は(OAuth クライアントを管理するをご覧ください)、--client-id-file を渡します。

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform" \
      --client-id-file=YOUR_CLIENT_JSON_FILE
    
  3. コマンドが完了したら、コンソールに出力された認証情報のパス(Credentials saved to file: [PATH_TO_CREDENTIALS_JSON])をコピーします。このパスは、MCP クライアントを構成するときに GOOGLE_APPLICATION_CREDENTIALS で使用します。

オプション 2: サービス アカウントで認証する

Google アナリティクスのプロパティに対する閲覧権限を持つサービス アカウントで認証するには:

  • サービス アカウントの JSON キーファイル: MCP クライアント構成の GOOGLE_APPLICATION_CREDENTIALS を、サービス アカウントの JSON ファイルの絶対パスに設定します。
  • サービス アカウントの権限借用: gcloud CLI でサービス アカウントの権限を借用して、ADC 認証情報を生成します。

    gcloud auth application-default login \
      --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
      --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform"
    

MCP クライアントを構成する

サーバーは PyPI で analytics-mcp として公開され、analytics-mcp と google-analytics-mcp の両方のコンソール スクリプトを公開します。

次の構成では、次のように置き換えます。

  • PATH_TO_CREDENTIALS_JSON は、ADC またはサービス アカウントの JSON ファイルの絶対パスに置き換えます。
  • YOUR_PROJECT_ID は、Google アナリティクス API を有効にした プロジェクト ID に置き換えます。

Antigravity CLI と Antigravity IDE

  1. Antigravity CLI または Antigravity IDE をインストールします。
  2. analytics-mcp サーバーを ~/.gemini/config/mcp_config.json(またはワークスペースの .agents/mcp_config.json)に追加します。

    {
      "mcpServers": {
        "analytics-mcp": {
          "command": "pipx",
          "args": ["run", "analytics-mcp"],
          "env": {
            "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
            "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
          }
        }
      }
    }
    
  3. analytics-mcp が接続されていることを確認します。

    • Antigravity CLI: agy を実行し、/mcp を入力して、構成済みの MCP サーバーを表示します。
    • Antigravity IDE: [設定] > [カスタマイズ] > [インストール済みの MCP サーバー] を開き、[更新] をクリックします。

Claude Desktop と Claude Code

Claude Desktop の場合は、claude_desktop_config.json ファイル(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json)にサーバーを追加します。

{
  "mcpServers": {
    "analytics-mcp": {
      "command": "pipx",
      "args": ["run", "analytics-mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
        "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
      }
    }
  }
}

Claude Code の場合は、コマンドライン ツールを使用してサーバーを登録します。

claude mcp add analytics-mcp \
  --scope user \
  -e GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_CREDENTIALS_JSON" \
  -e GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID" \
  -- pipx run analytics-mcp

Cursor

プロジェクト ディレクトリの .cursor/mcp.json(グローバル構成の場合は ~/.cursor/mcp.json)にサーバーを追加します。google-analytics-mcp は、uvx または pipx を使用して呼び出すことができます。

{
  "mcpServers": {
    "google-analytics-mcp": {
      "command": "uvx",
      "args": ["--from", "analytics-mcp", "google-analytics-mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
        "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
      }
    }
  }
}

uvx を使用して GitHub から最新の開発版を直接実行するには、"args" を更新します。

"args": [
  "--from",
  "git+https://github.com/googleanalytics/google-analytics-mcp.git",
  "google-analytics-mcp"
]

または、pipx を使用するには、"command" を "pipx" に変更し、"args" を次のように設定します。

"command": "pipx",
"args": [
  "run",
  "--spec",
  "git+https://github.com/googleanalytics/google-analytics-mcp.git",
  "google-analytics-mcp"
]

利用可能な MCP ツール

Google アナリティクス MCP サーバーは、Admin API と Data API v1 を使用して、読み取り専用ツールを MCP クライアントに公開します。

  • アカウントとプロパティの検出(Admin API):
    • get_account_summaries: 認証済みユーザー(accountSummaries.list)がアクセスできる Google アナリティクスのアカウントとプロパティを一覧表示します。
    • get_property_details: 特定の Google アナリティクスのプロパティ(properties.get)の構成の詳細を返します。
    • list_google_ads_links: プロパティの Google 広告アカウントへのリンクを一覧表示します(properties.googleAdsLinks.list)。
    • list_property_annotations: プロパティ(properties.reportingDataAnnotations.list)に構成されたアノテーションを一覧表示します。
  • レポートとスキーマの検査(Data API v1):
    • get_custom_dimensions_and_metrics: プロパティに定義されているカスタム ディメンションとカスタム指標を取得します(getMetadata)。
    • run_report: 標準の Google アナリティクス レポート(runReport)を実行します。
    • run_realtime_report: Google アナリティクスのリアルタイム レポート(runRealtimeReport)を実行します。
    • run_funnel_report: Google アナリティクスのファネルデータ探索レポート(runFunnelReport)を実行します。
    • run_conversions_report: コンバージョン パフォーマンス レポート(runConversionsReport)を実行します。

サンプル プロンプト

接続したら、AI アシスタントに次のような質問をしてみてください。

  • 昨日のユーザー数は?
  • 昨日のベストセラー商品は何ですか?
  • マーケティング予算は月額 5,000 ドルで、収益を増やす必要があります。データドリブンなマーケティング プランを作成して。
  • プロパティに設定されているカスタム ディメンションとカスタム指標
  • 過去 90 日間に Google アナリティクス プロパティで最も人気のあるイベントは何ですか?

トラブルシューティング

一般的な設定エラーとランタイム エラーを解決するには、次のチェックリストを使用します。

  • 403 PERMISSION_DENIED(API が有効になっていないか、プロパティの権限が不十分):
    • GOOGLE_CLOUD_PROJECT で指定された プロジェクトで、Google Analytics Admin API(analyticsadmin.googleapis.com)と Google Analytics Data API(analyticsdata.googleapis.com)の両方が有効になっていることを確認します。
    • 認証するユーザーまたはサービス アカウントに、Google アナリティクス UI のターゲット Google アナリティクス プロパティに対する閲覧者ロール(roles/analytics.viewer)が少なくとも付与されていることを確認します。
    • エラー状態に Request had insufficient authentication scopes と表示されている場合は、https://www.googleapis.com/auth/analytics.readonly スコープと https://www.googleapis.com/auth/cloud-platform スコープを指定して gcloud auth application-default login を再実行します。
  • 割り当てプロジェクト(GOOGLE_CLOUD_PROJECT)または 403 ACCESS_NOT_CONFIGURED がありません。

    • ユーザーの ADC 認証情報で認証されたリクエストには、Google アナリティクス API が有効になっている 割り当てプロジェクトが必要です。MCP サーバーの env 構成で "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID" を設定するか、ADC ファイルで割り当てプロジェクトを設定します。

      gcloud auth application-default set-quota-project YOUR_PROJECT_ID
      
  • 401 UNAUTHENTICATED または認証情報ファイルが見つかりません。

    • GOOGLE_APPLICATION_CREDENTIALS には絶対パス(/Users/username/.config/gcloud/application_default_credentials.json など)を使用します。多くの MCP ホストは JSON 構成ファイル内のシェル変数を展開しないため、~ 変数や $HOME 変数は使用しないでください。
    • ユーザー認証情報の有効期限が切れている場合は、gcloud auth application-default login を再実行します。
  • サーバーが起動しない(spawn pipx ENOENT、uvx: command not found、または Python のバージョン エラー):

    • Python 3.10 以降がインストールされていることを確認します(python3 --version)。
    • デスクトップ GUI アプリケーション(Claude Desktop や Cursor など)は、多くの場合、インタラクティブ シェル PATH を継承しません。"command" の "pipx" または "uvx" を、which pipx または which uvx から返された絶対バイナリパス(/opt/homebrew/bin/pipx や /Users/username/.local/bin/pipx など)に置き換えます。