Google Analytics公式MCPサーバーを uv と Claude Desktop で動かしてみました

最近、Google Analyticsのデータを Claude Cowork に丸ごと渡したいと考えていました。ただ、Coworkにいきなり繋ぐ前に、まずはローカルで公式のMCPサーバーがちゃんと動くかを確認しておきたく […]

広告ここから
広告ここまで

目次

    最近、Google Analyticsのデータを Claude Cowork に丸ごと渡したいと考えていました。ただ、Coworkにいきなり繋ぐ前に、まずはローカルで公式のMCPサーバーがちゃんと動くかを確認しておきたく、手元のmacOSで試した記録です。

    準備からClaude Desktopでの起動確認まで、実際に踏んだステップは大きく6つです。

    1. gcloud CLIのインストール
    2. APIの有効化
    3. OAuthクライアントの作成
    4. 認証情報の発行
    5. uvのインストール
    6. そして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ファイルがあったからです。

    1. Google Cloud Consoleからダウンロードしたclient_secret_xxxxx.apps.googleusercontent.com.json
    2. 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が使えないという技術的な理由は見当たりませんでした。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark