Google Analytics公式MCPサーバーを uv と Claude Desktop で動かしてみました
最近、Google Analyticsのデータを Claude Cowork に丸ごと渡したいと考えていました。ただ、Coworkにいきなり繋ぐ前に、まずはローカルで公式のMCPサーバーがちゃんと動くかを確認しておきたく […]
目次
最近、Google Analyticsのデータを Claude Cowork に丸ごと渡したいと考えていました。ただ、Coworkにいきなり繋ぐ前に、まずはローカルで公式のMCPサーバーがちゃんと動くかを確認しておきたく、手元のmacOSで試した記録です。
準備からClaude Desktopでの起動確認まで、実際に踏んだステップは大きく6つです。
- gcloud CLIのインストール
- APIの有効化
- OAuthクライアントの作成
- 認証情報の発行
- uvのインストール
- そしてClaude Desktopへの登録
使ったMCPサーバーについて
Google Analyticsチームが公開している公式のMCPサーバーがあります。リポジトリは googleanalytics/google-analytics-mcp で、ライセンスはApache-2.0です。Google Analytics Admin APIとData APIを使い、読み取り専用でアカウント情報やレポートを取得できます。
公式のセットアップ手順に載っているクライアントは、Gemini CLIとGemini Code Assist、Claude Codeの3つだけです。Claude Desktop向けの設定は、Gemini CLI向けの設定形式をベースに行いました。
Google Cloud側の準備
まず、gcloud CLIがそもそも入っていなかったので、Homebrewで入れました。
brew install --cask gcloud-cli
gcloud init
gcloud initでプロジェクトを選び、ログインを済ませておきます。
次に、対象のGoogle CloudプロジェクトでAdmin APIとData APIを有効化します。
gcloud services enable \
analyticsadmin.googleapis.com \
analyticsdata.googleapis.com \
--project=YOUR_PROJECT_ID
このMCPサーバーは、アカウント情報の取得にAdmin API、レポートの取得にData APIを使うため、両方を有効化しておく必要があります。
続いて、Google Cloud ConsoleでOAuthクライアントを作成します。「APIとサービス」の「認証情報」から、アプリケーションの種類を「デスクトップアプリ」にしてクライアントIDを作成し、JSONファイルをダウンロードしておきます。
最後に、このOAuthクライアントを使ってApplication Default Credentials(ADC)を発行します。
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
コマンドが完了すると、以下のようなメッセージが出ます。
Credentials saved to file: [/Users/<ユーザー名>/.config/gcloud/application_default_credentials.json]
このapplication_default_credentials.jsonの方が、次のステップで使う認証情報です。
詰まったポイントその1: どのJSONを使うか
ここで少し迷いました。手元には2つのJSONファイルがあったからです。
- Google Cloud Consoleからダウンロードした
client_secret_xxxxx.apps.googleusercontent.com.json gcloud auth application-default loginの実行後に保存されたapplication_default_credentials.json
MCPサーバーのGOOGLE_APPLICATION_CREDENTIALSに指定するのは、後者のapplication_default_credentials.jsonです。client_secret_....jsonは、ADCを発行するためにgcloudコマンドへ渡す入力用のファイルであり、MCPサーバー自体が読みにいくファイルではありません。この違いに気づくまでに少し時間がかかりました。
uvをインストールしてMCPサーバーを起動確認する
ここからはuvで作業します。
公式のREADMEはpipxのみを案内していますが、analytics-mcpは普通のPyPIパッケージなので、uvxで直接実行できます。手元で試したところ、次のように起動しました。
$ uvx analytics-mcp
Starting MCP Stdio Server: Google Analytics MCP Server
詰まったポイントその2: GOOGLE_PROJECT_IDの取得
MCPサーバーの環境変数GOOGLE_PROJECT_IDには、プロジェクト名ではなくプロジェクトIDを入れる必要があります。手元では次のコマンドで確認しました。
gcloud config get-value project
gcloud initで選んだプロジェクトがそのまま返ってくるので、この値をそのまま使います。Cloud Consoleの「IAMと管理」の「設定」ページからも同じ値を確認できます。
Claude Desktopに登録する
claude_desktop_config.jsonに、以下の内容を追記しました。パスはmacOSの場合です。
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"analytics-mcp": {
"command": "uvx",
"args": ["analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/Users/<ユーザー名>/.config/gcloud/application_default_credentials.json",
"GOOGLE_PROJECT_ID": "<プロジェクトID>"
}
}
}
}
保存してClaude Desktopを再起動すると、analytics-mcpが接続済みのツールとして表示されました。これで、Claude Desktopのチャット上からGoogle Analyticsのデータについて質問できるようになっています。
また、Claude Coworkについても、Desktopで動く設定であれば動作する様子でした。
まとめ
公式のGoogle Analytics MCPサーバーを、uvとClaude Desktopの組み合わせで動かせることを確認しました。pipxが公式の推奨ではありますが、uvが使えないという技術的な理由は見当たりませんでした。