Model Context Protocol (MCP) サーバーを使用して、Google Analytics Data APIにアクセスするためのインターフェースを提供します。
このMCPサーバーは、Google Analytics Data APIの主要な機能にアクセスするためのツールとリソースを提供します:
- get_report: 指定した日付範囲、メトリクス、ディメンションに基づいてレポートを取得します
 - get_realtime_data: リアルタイムデータを取得します
 
- ga4://property/{propertyId}/metadata: Google Analyticsプロパティのメタデータにアクセスします
 
- Google Cloudプロジェクトを作成し、Analytics Data APIを有効にします
 - サービスアカウントを作成し、認証情報JSONファイルをダウンロードします
 - サービスアカウントにGA4プロパティへの適切なアクセス権を付与します
 
詳細なセットアップ手順については、セットアップガイドを参照してください。
# リポジトリをクローン
git clone https://github.com/eno-graph/mcp-server-google-analytics.git
cd mcp-server-google-analytics
# 依存関係をインストール
npm install
# ビルド
npm run build以下の環境変数を設定する必要があります:
export GOOGLE_CLIENT_EMAIL="your-service-account@project.iam.gserviceaccount.com"
export GOOGLE_PRIVATE_KEY="your-private-key"
export GA_PROPERTY_ID="your-ga4-property-id"npm startまたは、提供されているスクリプトを使用することもできます:
./run-server.shClaude Desktopの設定ファイルに以下を追加します:
{
  "mcpServers": {
    "google-analytics": {
      "command": "node",
      "args": ["/path/to/mcp-server-google-analytics/build/index.js"],
      "env": {
        "GOOGLE_CLIENT_EMAIL": "your-service-account@project.iam.gserviceaccount.com",
        "GOOGLE_PRIVATE_KEY": "your-private-key",
        "GA_PROPERTY_ID": "your-ga4-property-id"
      }
    }
  }
}詳細な設定例については、claude-desktop-config-sample.jsonを参照してください。
get_report ツールを使用して、過去7日間のアクティブユーザー数とページビュー数を取得します。
引数:
{
  "startDate": "7daysAgo",
  "endDate": "today",
  "metrics": ["activeUsers", "screenPageViews"],
  "dimensions": ["date"],
  "limit": 10
}
get_realtime_data ツールを使用して、現在アクティブなユーザー数を取得します。
引数:
{
  "metrics": ["activeUsers"],
  "dimensions": ["deviceCategory"],
  "limit": 10
}
ga4://property/123456789/metadata リソースにアクセスして、利用可能なメトリクスとディメンションを確認します。
Claudeでの使用例については、Claude使用例を参照してください。
MIT