Google AI Search MCP について
Google AI Search MCPは、開発者向けのウェブ検索とドキュメント分析を提供するサーバーです。Vertex AIまたはGemini APIを使い、出典付きの解説、コード分析、技術比較、アーキテクチャ提案を行います。
主な機能
- 01最新情報のウェブ検索
- 02ドキュメントに基づくトピック解説
- 03技術コードスニペットの取得
- 04ドキュメントに照らしたコード分析
- 05技術比較とアーキテクチャ提案
活用シーン
- 01開発上の最新課題を調査
- 02技術ドキュメントから例を検索
- 03文書化された指針に沿ってコードを確認
- 04プロジェクト向け技術を比較
MCP 対応
MCPクライアントにGoogle AIを使った検索・ドキュメントツールを公開します。実行時の設定に応じてVertex AIまたはGemini APIを利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y google-ai-search-mcpAI_PROVIDERSelect vertex or gemini. Defaults to vertex.GOOGLE_CLOUD_PROJECTGoogle Cloud project ID. Required when AI_PROVIDER is vertex.GOOGLE_CLOUD_LOCATIONVertex AI location. Defaults to us-central1.GEMINI_API_KEYシークレットGemini API key. Required when AI_PROVIDER is gemini.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google AI Search MCP
このプロジェクトは、AI コーディングエージェントが LLM の知識不足や情報の制約を克服できるように特別に設計された、Google AI を活用した包括的な検索・ドキュメントツール一式を提供する Model Context Protocol(MCP)サーバーを実装します。
実装に関する注意事項
プロバイダーの選択と認証情報は実行時に解決されるため、ツールが一覧に表示されていても、対応する上流プロバイダーが設定済み、または到達可能であるとは限りません。モデルが生成した比較、アーキテクチャに関する指針、セキュリティ分析は、確定的な分析結果ではなく、引用された一次資料に照らして検証すべき情報として扱ってください。
このプロジェクトと、公開されているほか6つの MCP 実装との設計上の課題を、出典へのリンク付きで比較した内容については、What building seven MCP servers taught me about production MCPをご覧ください。
機能
- Google AI モデル(Vertex AI および Gemini API)に、専用の MCP ツールを通じてアクセスできます。
- リアルタイムの情報取得とドキュメントに基づく分析に重点を置いています。
- LLM が持たない最新情報を補うため、ウェブ検索によるグラウンディングに対応しています。
- モデル ID、温度、ストリーミング動作、最大出力トークン数、再試行設定を環境変数で構成できます。
- 応答性の向上が期待できるため、デフォルトでストリーミング API を使用します。
- 一時的な API エラーに対する基本的な再試行ロジックを備えています。
- ブロックされる可能性を減らすため、基本的な安全フィルター(
BLOCK_NONE)を適用しています(慎重に使用してください)。
提供されるツール
コア検索・ドキュメントツール
answer_query_websearch:Google AI を使用し、リアルタイムの検索結果をもとに、開発者向けの自然言語クエリに対応します。技術的な内容を自動検出し、検索手法を強化するとともに、包括的なコード形式で回答します。explain_topic_with_docs:公式ドキュメントの情報を統合し、簡潔な技術解説を提供します。デバッグのシナリオを改善し、冗長さを抑えながら、トラブルシューティングの指針を強化します。get_doc_snippets:公式ドキュメントからの技術的なクエリに対し、段階的に複雑さが増す例、高度な検索パターン、バージョン別の対象指定、包括的なコンテキストを含むコードスニペットを取得します。generate_project_guidelines:指定された技術に基づき、包括的で構造化されたプロジェクトガイドライン文書を生成します。ウェブ検索を利用して、最新のベストプラクティスと業界標準を反映します。
高度な分析ツール
code_analysis_with_docs:公式ドキュメントに記載されたベストプラクティスとコードを照合し、根拠に基づいたコード分析を行います。引用の形式を統一し、重大度を分類したうえで、実行可能な推奨事項を提示します。technical_comparison:利用可能な最新の検索コンテキストを用いて、指定された評価基準に沿って技術を比較します。数値や市場に関する主張は、引用された一次資料に照らして検証してください。architecture_pattern_recommendation:説明されたユースケースに対し、アーキテクチャの選択肢、トレードオフ、実装上の考慮事項を提示します。採用する前に、システムの実際の制約に照らして推奨内容を検証してください。
(注:各ツールの入出力スキーマは、src/tools/ 内の各ファイルで定義され、MCP サーバー経由で公開されます。)
前提条件
- Node.js(v18+)
- Bun(
npm install -g bun) - Vertex AI を使用する場合は、請求が有効になっている Google Cloud プロジェクト。
- Vertex AI を使用する場合は、GCP プロジェクトで Vertex AI API が有効になっていること。
- 環境で Google Cloud 認証が設定されていること(
gcloud auth application-default loginによる Application Default Credentials、またはサービスアカウントキーを推奨)、または Gemini API キー。
セットアップとインストール
- プロジェクトのクローン/配置: プロジェクトファイルが希望する場所にあることを確認します。
- 依存関係のインストール:
bun install - 環境の設定:
- プロジェクトのルートに
.envファイルを作成します(.env.exampleをコピーします)。 .env.exampleの説明に従って、必須および任意の環境変数を設定します。AI_PROVIDERを"vertex"または"gemini"に設定します。AI_PROVIDER="vertex"の場合、GOOGLE_CLOUD_PROJECTが必要です。AI_PROVIDER="gemini"の場合、GEMINI_API_KEYが必要です。
- プロジェクトのルートに
- サーバーのビルド:
これにより、TypeScript コードがbun run buildbuild/index.jsにコンパイルされます。
使用方法(スタンドアロン/NPX)
パッケージは npm に公開されており、npx で直接実行できます。
# Ensure required environment variables are set (e.g., GOOGLE_CLOUD_PROJECT or GEMINI_API_KEY)
bunx google-ai-search-mcp
または、グローバルにインストールします。
bun install -g google-ai-search-mcp
# Then run:
google-ai-search-mcp
注: スタンドアロンで実行するには、コマンドを実行する前に、必要な環境変数(GOOGLE_CLOUD_PROJECT、GOOGLE_CLOUD_LOCATION、GEMINI_API_KEY、ADC を使用しない場合の認証情報など)をシェル環境に設定する必要があります。
Docker
ローカルのコンテナイメージをビルドします。
docker build -t google-ai-search-mcp .
Gemini API プロバイダーを使用して実行します。
docker run --rm -i \
-e AI_PROVIDER=gemini \
-e GEMINI_API_KEY \
google-ai-search-mcp
Vertex AI の場合は、AI_PROVIDER=vertex、GOOGLE_CLOUD_PROJECT を渡し、必要に応じて
GOOGLE_CLOUD_LOCATION も渡します。また、コンテナ内でアプリケーションのデフォルト認証情報を利用できる必要があります。通常は読み取り専用の認証情報マウントを通じて利用できます。
API キーやサービスアカウントファイルをイメージに埋め込まないでください。
Cline での実行
-
MCP 設定: Cline の MCP 設定ファイル(例:
.roo/mcp.json)に設定を追加または更新します。コマンドの設定方法は主に 2 つあります。オプション A:Node を使用(直接パス指定 - 開発時に推奨)
この方法では、コンパイル済みスクリプトを直接実行するために
nodeを使用します。コードをローカルにクローンしている開発時に便利です。{ "mcpServers": { "google-ai-search-mcp": { "command": "node", "args": [ "/full/path/to/your/google-ai-search-mcp/build/index.js" // 絶対パスを使用するか、Cline が node を実行する場所からの相対パスになるようにしてください ], "env": { // --- 一般的な AI 設定 --- "AI_PROVIDER": "vertex", // "vertex" または "gemini" // --- 必須(条件付き)--- "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // AI_PROVIDER="vertex" の場合に必須 // "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // AI_PROVIDER="gemini" の場合に必須 // --- 任意のモデル選択 --- "VERTEX_MODEL_ID": "gemini-2.5-pro", // AI_PROVIDER="vertex" の場合(上書き例) "GEMINI_MODEL_ID": "gemini-2.5-pro", // AI_PROVIDER="gemini" の場合 // --- 任意の AI パラメーター --- "GOOGLE_CLOUD_LOCATION": "us-central1", // Vertex AI 専用 "AI_TEMPERATURE": "0.0", "AI_USE_STREAMING": "true", "AI_MAX_OUTPUT_TOKENS": "65536", // .env.example のデフォルト値 "AI_MAX_RETRIES": "3", "AI_RETRY_DELAY_MS": "1000", // --- 任意の Vertex 認証 --- // "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // Vertex でサービスアカウントキーを使用する場合 }, "disabled": false, "alwaysAllow": [ // 確認プロンプトを表示したくない場合は、ここにツール名を追加します // 例:「answer_query_websearch」 ], "timeout": 3600 // 任意:タイムアウト(秒) } // 他のサーバーをここに追加... } }- 重要:
argsのパスがbuild/index.jsファイルを正しく指していることを確認してください。絶対パスを使用すると、より確実な場合があります。
オプション B:NPX を使用(npm へのパッケージ公開が必要) この方法では、
npxを使って npm レジストリからサーバーパッケージを自動的にダウンロードして実行します。リポジトリをクローンしたくない場合に便利です。{ "mcpServers": { "google-ai-search-mcp": { "command": "bunx", // bunx を使用 "args": [ "-y", // インストールを自動で確認 "google-ai-search-mcp" // npm パッケージ名 ], "env": { // --- 一般的な AI 設定 --- "AI_PROVIDER": "vertex", // "vertex" または "gemini" // --- 必須(条件付き)--- "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // AI_PROVIDER="vertex" の場合に必須 // "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // AI_PROVIDER="gemini" の場合に必須 // --- オプションのモデル選択 --- "VERTEX_MODEL_ID": "gemini-2.5-pro", // AI_PROVIDER="vertex" の場合(上書き例) "GEMINI_MODEL_ID": "gemini-2.5-pro", // AI_PROVIDER="gemini" の場合 // --- オプションの AI パラメーター --- "GOOGLE_CLOUD_LOCATION": "us-central1", // Vertex AI 固有の設定 "AI_TEMPERATURE": "0.0", "AI_USE_STREAMING": "true", "AI_MAX_OUTPUT_TOKENS": "65536", // .env.example のデフォルト値 "AI_MAX_RETRIES": "3", "AI_RETRY_DELAY_MS": "1000", // --- オプションの Vertex 認証 --- // "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // Vertex でサービスアカウントキーを使用する場合 }, "disabled": false, "alwaysAllow": [ // 確認プロンプトを表示したくない場合は、ここにツール名を追加 // 例:「answer_query_websearch」 ], "timeout": 3600 // オプション:タイムアウト(秒) } // 他のサーバーをここに追加... } }envブロックの環境変数が、.envと一致するか、ここで明示的に定義されていることを確認してください。実際の JSON ファイルからコメントを削除してください。
- 重要:
-
Cline を再起動/再読み込みする: Cline は設定の変更を検出し、サーバーを起動します。
-
ツールを使用する: Cline を通じて、Google AI を活用した包括的な検索・ドキュメントツール一覧を使用できるようになります。
開発
- 監視モード:
bun run watch - ビルド:
bun run build - インスペクター:
bun run inspector
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。