「Gemini CLIでMCPを使いたいが、設定ファイルをどこに置けばいいのかわからない」とお困りではないでしょうか。
Gemini CLI のMCP設定は settings.json の mcpServers に書きます。グローバル設定とプロジェクト別設定の2箇所があり、どちらに置くかで適用範囲が変わります。
本記事では、Gemini CLIでMCPを設定する手順と、Google広告のデータ分析に使う実践的な組み合わせまで解説します。
記事のポイント
settings.jsonの2つの置き場所と使い分けmcpServersの書き方(ローカル / リモート)- 環境変数が自動展開される仕組みとセキュリティ上の利点
- Gemini CLI がMCPサーバーを見つける流れ
- Google広告MCPと組み合わせる実践例
目次
- Gemini CLIのMCP設定ファイルの場所
- mcpServers の書き方
- 環境変数の扱い
- Gemini CLI がMCPサーバーを認識する流れ
- Google広告MCPと組み合わせる
- つながらないときの確認ポイント
- セキュリティ上の注意
- よくある質問
- まとめ
Gemini CLIのMCP設定ファイルの場所
Gemini CLI のMCPサーバー設定は、settings.json の mcpServers キーの下に記述します。置き場所は2つあります(出典: Gemini CLI 公式ドキュメント(MCP サーバー))。
| 種別 | パス | 適用範囲 |
|---|---|---|
| グローバル設定 | ~/.gemini/settings.json | すべてのプロジェクト |
| プロジェクト別設定 | <プロジェクト>/.gemini/settings.json | そのディレクトリ内のみ |
使い分けの目安は次のとおりです。
- 自分がいつも使うサーバー(ファイル操作・検索など)→ グローバル
- 特定の案件のデータにだけ繋ぐサーバー → プロジェクト別
プロジェクト別に置くと、その案件のディレクトリを離れれば接続対象から外れます。 複数のクライアントのデータを扱う場合、混線を防ぐ意味でプロジェクト別のほうが安全です。
mcpServers の書き方
ローカルサーバー(stdio)の場合
自分のPC上でサーバーを起動する形です。command と args を指定します。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/work"
]
}
}
}
args の後半に並ぶパスが、そのままアクセス許可の範囲になります。必要最小限のディレクトリだけを渡してください。
リモートサーバーの場合
提供元のクラウドで動いているサーバーに繋ぐ形です。httpUrl を指定します。
{
"mcpServers": {
"example-remote": {
"httpUrl": "https://mcp.example.com/mcp"
}
}
}
認証が必要な場合はヘッダーを渡せます。トークンを直書きせず、後述の環境変数展開を使ってください。
対応しているトランスポート
Gemini CLI は接続時に、次のトランスポートを適切に選択します。
- Stdio — ローカルプロセスとの標準入出力による通信
- SSE — Server-Sent Events
- Streamable HTTP — リモートサーバー向けの標準的な方式
MCPの現行仕様(2026-07-28)で定義されているのは stdio と Streamable HTTP の2つです。SSE は以前の版で使われていた方式で、提供元が古い実装のままの場合に使われます。
環境変数の扱い
Gemini CLI は、MCPサーバー設定の env ブロック内の環境変数を自動的に展開します。
{
"mcpServers": {
"example": {
"command": "npx",
"args": ["-y", "some-mcp-server"],
"env": {
"API_TOKEN": "$MY_API_TOKEN"
}
}
}
}
これにより、シェルや環境側で定義した変数を参照できるため、機密情報を settings.json に直接書き込む必要がなくなります。
settings.json はプロジェクトのディレクトリに置くとリポジトリに含まれる可能性があります。トークンを直書きするとGitにコミットされる事故が起きます。 環境変数の展開はこれを避けるための仕組みです。
Gemini CLI がMCPサーバーを認識する流れ
Gemini CLI のMCP統合は、次の流れで動きます。
settings.jsonのmcpServersに書かれたサーバーを順番に処理する- 適切なトランスポート(Stdio / SSE / Streamable HTTP)で接続を確立する
- MCPプロトコルで各サーバーからツール定義を取得する
- 取得したツールのスキーマを Gemini API 互換に整形・検証する
4番目の工程があるため、MCPサーバー側のスキーマが特殊だと、そのツールだけ認識されないことがあります。 「他のクライアントでは動くのに Gemini CLI だと出ない」場合はここが原因の候補になります。
Google広告MCPと組み合わせる
Gemini CLI と相性がよい組み合わせが Google Ads MCP Server です。Googleが公式にオープンソースで公開しており、対応クライアントの例として Gemini が挙げられています。
提供されるツールは3つです。
| ツール | 内容 |
|---|---|
list_accessible_customers | アクセス可能なGoogle Ads顧客IDとアカウント名の一覧 |
search | GAQL(Google Ads Query Language)を実行してメトリクス・予算・ステータスを取得 |
get_resource_metadata | Google Ads APIリソースタイプのメタデータを取得 |
重要な制約として、この実装は厳格に読み取り専用です。 入札の変更、キャンペーンの停止、アセットの新規作成はできません。
必要な前提は、22文字の開発者トークン、プロジェクトID、OAuth認証情報またはサービスアカウントです。詳細は「Google広告MCPとは?できることと接続手順・読み取り専用という制約を解説」で解説しています。
実際の使い方
接続後、次のように依頼できます。
先月のキャンペーン別のCPAとコンバージョン数を取得して、CPAが悪化した上位5件を挙げてください。実行したGAQLクエリも表示してください。
GAQLクエリを必ず出力させてください。 期間の指定や指標の取り違えは、クエリを見ないと検出できません。AIの要約だけを信用すると、集計期間がずれた数字で判断してしまいます。
つながらないときの確認ポイント
| 症状 | 確認すること |
|---|---|
| サーバーが認識されない | settings.json のJSON構文 / 置き場所(グローバルかプロジェクトか) |
| 一部のツールだけ出ない | スキーマが Gemini API 互換に整形できているか |
| 認証エラー | 環境変数が実際に展開されているか(echo $MY_API_TOKEN で確認) |
| ローカルサーバーが起動しない | command を単体でターミナル実行してエラーを見る |
| リモートサーバーに繋がらない | httpUrl の末尾が提供元の指定どおりか |
プロジェクト別設定を置いている場合、実行しているディレクトリが正しいかを最初に確認してください。 別のディレクトリから起動すると、その設定は読まれません。
セキュリティ上の注意
ローカルMCPサーバーは、MCPクライアントと同じ権限で任意のコードを実行できます。 公式のセキュリティ文書は、設定ファイルに悪意ある起動コマンドを埋め込む攻撃を具体例つきで挙げています。
- 出所の分からないサーバーを
settings.jsonに書かない - アクセスを許可するディレクトリは必要最小限にする
- トークンは環境変数で渡し、設定ファイルに直書きしない
- プロジェクト別設定ファイルをリポジトリにコミットする場合、中身に機密情報が無いか確認する
詳細は「MCP導入のセキュリティリスクと対策」で解説しています。
よくある質問
Q. Gemini CLI の settings.json はどこに置けばいいですか?
A. すべてのプロジェクトで使うならホームディレクトリの ~/.gemini/settings.json、特定の案件だけで使うならそのプロジェクト内の .gemini/settings.json です。プロジェクト別に置くと、そのディレクトリを離れれば接続対象から外れます。
Q. リモートMCPサーバーとローカルMCPサーバーで書き方が違いますか?
A. 違います。ローカルは command と args、リモートは httpUrl を指定します。接続先がどちらなのかは提供元のドキュメントで確認してください。
Q. Gemini CLI で MCP を使うのに有料プランは必要ですか?
A. Gemini CLI 自体の利用条件と、接続先のMCPサーバー側の条件の両方に依存します。例えば Squad beyond MCP は Gemini CLI については Enterprise プランのみ対応としています。接続先の提供元のドキュメントを確認してください。
Q. トークンを settings.json に直接書いても大丈夫ですか?
A. 推奨されません。Gemini CLI は env ブロック内の環境変数を自動展開するため、$MY_API_TOKEN のように参照する形にしてください。プロジェクト内の設定ファイルはリポジトリに含まれる可能性があるため、直書きは事故につながります。
まとめ
Gemini CLIでMCPを設定する要点は次の3つです。
- 設定は
settings.jsonのmcpServers。グローバル(~/.gemini/)とプロジェクト別(<project>/.gemini/)の2箇所があり、案件ごとに分けるならプロジェクト別が安全 - ローカルは
command/args、リモートはhttpUrl。トランスポートは Stdio / SSE / Streamable HTTP に対応 envの環境変数は自動展開される。トークンは直書きせず環境変数で渡す
Gemini CLI は取得したツールスキーマを Gemini API 互換に整形するため、他のクライアントで動くツールが認識されないことがあります。 その場合はスキーマ側を疑ってください。
MCPの基礎は「MCPとは?マーケティング業務での活用方法と2026年最新仕様」で解説しています。
CVR改善ならDejam!広告分析の次の一手を実行に移す
Dejamは、LP制作・ヒートマップ分析・ABテスト・AI自動解析をオールインワンで提供するCVR改善特化ツールです。Google広告の数字が悪化した原因がLP側にある場合、その改善を担います。
Dejamが選ばれる理由
- 広告データとLPの効果を同じ画面で見比べられる: 広告ダッシュボードでGoogle広告・Meta広告など複数媒体を一元管理
- 分析から実行までワンプロダクト: LP制作・ヒートマップ分析・ABテストを単一ツールで完結
- 月額3万円〜利用可能: PV数に応じた従量課金
- ユーザー課金なし: 何名で使っても追加費用は発生しない
- ISMS認証取得: ISO/IEC 27001:2022 認証取得済み
Dejam は2026年9月時点でMCPサーバー・公開APIを提供していません。 Gemini CLI からDejamのデータを直接参照することはできず、AIによる改善案の提示はツール内のCROサジェストで提供しています。