MENU

Gemini CLI で アナリティクス MCPサーバーと連携

目次

概要

Google Cloud上のGemini CLIを使い、アナリティクスのMCPサーバーと連携するための設定を記述します。

Gemini CLI

Gemini CLI は、Google が提供する Gemini を、コマンドライン (ターミナルやコマンドプロンプト) から直接利用するためのツールです。
通常、AIモデルを使うにはプログラミング言語 (Pythonなど) を書く必要がありますが、CLIを使えば、難しいコードを書かずに、シンプルなテキストコマンドだけでGeminiと対話したり、AIの機能を利用したりできます。

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

MCP は「Model Context Protocol」の略で、Geminiなどの高性能なAI(人工知能)モデルが、外部のデータ(この場合はGA4データ)に安全にアクセスし、その情報を利用できるようにするための「橋渡し役」となる技術・仕組みです。

設定方法

下記記事を参考にし、進めていきます。
(下記記事だけでは不足している設定がありますので、それを踏まえた上で、記述します。)
https://www.siteengine.co.jp/blog/google-analytics-mcp-setting

1.Google Cloudの登録

参考記事を参考に進めてください。

2.プロジェクトの設定

左上の「My First Project」をクリックします。

右上の「新しいプロジェクト」をクリックします。

「プロジェクト名」の箇所に識別しやすい任意の名称を入力します。ここでは、”Google Analytics MCP”という名称にしています。
「作成」をクリックします。

ここまででプロジェクトが作成されました。次に、操作するプロジェクトを切り替えます。

左上の選択中のプロジェクト名をクリックし、表示された一覧からいま作成したばかりのプロジェクト名をクリックします。

3.APIとCloud Shellの利用設定

以下に2つのURLにアクセスして、Google Analytics Admin APIとGoogle Analytics Data APIを有効にします。
https://console.cloud.google.com/apis/library/analyticsadmin.googleapis.com
https://console.cloud.google.com/apis/library/analyticsdata.googleapis.com
いずれもアクセスしたあとに、「有効にする」を押すだけです。

次にCloud Shellを使えるようにします。コンソールの画面の中央上部にある検索窓をクリックします。

検索窓にcloud shellと入力して、候補として表示される「Cloud Shell エディタ」を選択します。

「続行」をクリックしてください。

「承認」をクリックします。

再度認証の画面が開きます。パスワードを入力して「次へ」を押します。

4.Google CLIとGoogle Analytics MCP Serverの設定

Cloud Shellの画面で、「ターミナルを開く」をクリックします。

pipxというものを設定します。以下をコピペしてENTERを押してください。以降、すべてコピペしたあとにはENTERを押してください。

pip install --user pipx
python3 -m pipx ensurepath

参考サイトには、ありませんが、下記対応が必要です。

source /google/devshell/bashrc.google
nvm install stable
nvm use stable

次に、以下を入力してください。

npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

次に以下を入力します。

npm install -g @google/gemini-cli

最後に以下を入力すると正常に入ったかを確認できます。

which gemini
gemini --version

次に以下を入力します。

git clone https://github.com/googleanalytics/google-analytics-mcp

以下を入力します。

cd google-analytics-mcp

最後に以下を入力してインストールします。

pip install .

5.認証設定

認証を設定します。以下を入力します。

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

以下のような表示になるので、Yを入力してENTERを押します。

上記赤枠箇所のurlをクリックすると、認証の画面になりますので、いま使っているアカウントを選択します。

「すべて選択」にチェックを入れて、「続行」をクリックします。

「Copy」をクリックします。

URLクリックする前の画面に戻ってコードをペーストします。

Yを入力してENTERを押します。

6.設定ファイルの記入

以下を入力します。

mkdir -p ~/.gemini/

次に、以下を入力します。

nano ~/.gemini/settings.json

開いたエディタに以下をコピペします。

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

CTRL+Xを押して、Yを入力してENTER、最後にもう一度ENTERを押します。以下の画像はCTRL+Xを押した際に左下に表示される部分です。

7.Google Analytics MCP Serverの利用

gemini と入力してENTERを押すと以下の表示がされます。

@analytics-mcp “先週のセッション数は?” @analytics_mcp/ 今週のセッション数は?のように入力すると、最初だけプロパティIDの確認が入ります。以下のような表示になるので、↓キーを使って選択してENTERを押します。なお、AIの出力する文章部分は毎回変わるため、以下の画像と同じにならない可能性が高いです。

プロパティの一覧が表示されるので、任意のプロパティの数字をコピーしてENTERを押します。CTRL+Cだと動かないので、ドラッグ、右クリックからコピーします。画像赤枠の部分の9桁の数字です。

以下のように結果が出力されます。なお、ご覧いただくとわかりますが、過去7日間のセッションを聞いているのに8日間だし、日付順ではなくセッション順になっているしで微妙なので、現時点ではかなり具体的に出力形式をプロンプト内で指定したほうがよいです。

備考

geminiコマンドについて

ターミナルを閉じると、gemini コマンドを叩いても、geminiが起動しないことがあります。
cynosura@cloudshell:~/google-analytics-mcp$ gemini
/usr/bin/env: ‘node’: No such file or directory

その場合は、node.jsのバージョンを再読み込みしてください。

nvm use --delete-prefix stable
nvm use stable
node -v

上記で治らない場合は、ルート直下でもう一度node.jsをインストールすると、
起動すると思います。(2回目以降は問題なく起動しました。)

source /google/devshell/bashrc.google
nvm install stable
nvm use stable

複数ウィンドウでの起動

複数のウィンドウで別々のアカウントを開き、
shellのターミナルを起動すると、
最初に開いていたアカウントのターミナルが新規で開いたアカウントのターミナルに移動することがあります。
ターミナルが移動した場合、移動前のアカウントのターミナルになるため、新規アカウントのターミナルは調整できなくなります。

→ページ右上のアカウント箇所で、アカウントを正しく切り替える必要があります。
 ①アカウント1でログイン
 ②別ウィンドウなどでアカウント2でログイン
 ③①のウィンドウに戻り、シェルを起動し直すと、②のアカウントになる?
 (再現できず)

2回目以降の接続

1.Google Cloud に接続

2.プロジェクトの選択

設定時に作成したプロジェクトを選択してください。
(複数人で同様のアカウントを使用していると、プロジェクトが変わっていることがあります。)

3.Cloud Shell のターミナル立ち上げ

コンソールの画面の中央上部にある検索窓をクリックします。
検索窓にcloud shellと入力して、候補として表示される「Cloud Shell エディタ」を選択します。
Cloud Shellの画面で、「ターミナルを開く」をクリックします。

4.gemini 立ち上げ環境の確認

$ ls

実行結果
google-analytics-mcp README-cloudshell.txt

設定時に作成したディレクトリが見つかると思います。
(wiki上で作成する際に使用したコマンドは下記です。)

git clone https://github.com/googleanalytics/google-analytics-mcp

5.gemini 立ち上げ環境へ移動

「4.gemini 立ち上げ環境の確認」で確認したディレクトリに移動してください。

$ cd google-analytics-mcp

2回目以降の接続、注意点

注意点その1

上記「4.gemini 立ち上げ環境の確認」「5.gemini 立ち上げ環境へ移動」の手順を踏まずに、
Cloud Shell のターミナル立ち上げてすぐ、ルート直下のディレクトリでgeminiを起動すると、
geminiには接続できるが、Google Analytics には接続できない。

エラー内容

Google Analyticsアカウントの情報を取得しようとしましたが、認証エラーが発生しました。権限が不足しているようです。設定を確認してください。

You are running Gemini CLI in your home directory. It is recommended to run in a project-specific directory.

注意点その2

具体的なトリガーは不明(ログアウト?)だが、あるタイミングで、
認証情報が切れてしまい、
「@analytics-mcp “先週のセッション数は?” @analytics_mcp/ 今週のセッション数は?」のように入力すると、
認証エラーが発火してしまいます。
その場合は、「5.認証設定」の設定をやり直してください。

無料枠について

2025年11月現在で、5GBの永続ディスクが無料で使用できます。

無料枠、使用状況の確認方法

以下コマンドで使用状況の確認ができます。
(初期使用量は98M)

$ du -sh $HOME

無料枠の使用について

以下のような場合に、容量を使用していきます。

1. プロジェクトファイルとコード

作業するために作成またはアップロードするすべてのファイルが容量を使用します。
・アプリケーションのソースコード、スクリプト
・設定ファイル、データファイル(例: JSON、CSV)
・開発中に作成されたログやビルドアーティファクト

2. シェルとツールの設定ファイル

環境をカスタマイズするために使用される隠しファイルや設定も容量を使用します。
~/.bashrc~/.profile などのシェル設定ファイル
gcloud CLIやその他のツールの設定
・SSHキーペア(~/.ssh フォルダ内のファイル)

3. 追加でインストールしたパッケージとツール

Cloud Shellには多くのツールがプリインストールされていますが、手動でインストールした追加のパッケージやライブラリ(Pythonのpip、Node.jsのnpm、Goのgo getなどでインストールしたもの)の一部が、ホームディレクトリ内に保存され容量を使用することがあります。

4. Gitリポジトリのクローン

GitHubなどの外部リポジトリから**ローカルにクローン(コピー)**したソースコード一式も、ディスク容量を消費します。リポジトリのサイズが大きいほど、消費量も大きくなります。
git clone https://github.com/googleanalytics/google-analytics-mcp

型や癖などを恒久的に記憶させる方法

やり取りしたプロンプトは、基本的にはセッションが切れたりログアウトしたりすると、
忘れてしまう。

save_memoryを利用することで、プロンプトの内容を恒久的に記憶させることが出来ます。

※2025/12/02現在、本項の方法で記憶させた内容は、忘れさせることができないようです。
 →記憶させた内容を考慮させないようにはできる

具体的な書き方

記憶させたい内容とともに、プロンプトを投げてください。

恒久的に覚えてほしいので、save_memoryに記憶させてください。

記憶させた内容の確認

save_memoryに記憶している内容を教えてください。

記憶させた内容を考慮させない

save_memoryに記憶している内容は考慮しないでください。

この記事を書いた人

目次