Gemini API with MCP Tool Integration について
Gemini API with MCP Tool Integrationは、MCP環境のツールとGeminiを組み合わせるPythonの実装例です。ツールを呼び出し、その結果を返す自然言語アプリケーションを作る開発者向けです。
主な機能
- 01自然言語のプロンプトをGeminiに送信
- 02MCPセッションからツールを取得
- 03モデルによるツール呼び出しを処理
- 04プロンプトと応答処理のカスタマイズ
活用シーン
- 01GeminiアプリにMCPツールの操作を追加
- 02自然言語の依頼をツールに振り分け
- 03ツール結果を含む応答の生成
MCP 対応
MCPクライアントセッションに接続して利用可能なツールを取得し、その定義をGeminiに渡してプロンプトに応じた呼び出しを可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP ツール統合を使用した Gemini API
このプロジェクトでは、MCP(Multi-Cloud Platform)フレームワークで管理されるカスタムツールと Google Gemini API を統合する方法を紹介します。Gemini API で自然言語のクエリを処理し、クエリの意図に基づいて特定のアクションを実行するために MCP ツールを活用します。
前提条件
このプロジェクトを実行する前に、以下を準備してください。
-
Python 3.7 以降
-
Gemini API が有効化され、API キーがある Google Cloud プロジェクト
-
必要なツールをセットアップした MCP 環境
-
以下の環境変数を設定した
.envファイル:GEMINI_API_KEY=<your_gemini_api_key> GEMINI_MODEL=<your_gemini_model_name> MCP_RUNNER=<path_to_mcp_runner> MCP_SCRIPT=<path_to_mcp_script>
インストール
-
リポジトリをクローンします。
git clone <repository_url> cd <repository_directory> -
仮想環境を作成します(推奨)。
python3 -m venv venv source venv/bin/activate # On macOS/Linux -
uvを使用して必要な依存関係をインストールします。uv pip install dotenv google-generativeai mcp uv add "mcp[cli]" httpx uv pip install python-dotenv google-generativeai mcp -
プロジェクトのルートに
.envファイルを作成し、環境変数を追加します。
GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-pro
MCP_RUNNER=path_to_mcp_runner
MCP_SCRIPT=path_to_mcp_script
使用方法
アプリケーションを実行するには、以下のコマンドを実行します。
python main.py
仕組み
- アプリケーションが環境変数を読み込み、設定されていることを確認します
- MCP クライアントとの接続を確立します
- MCP セッションから利用可能なツールを取得します
- ツールの定義とともにプロンプトを Gemini API に送信します
- モデルが実行したツール呼び出しを処理します
- ツール呼び出しの結果を含む最終的な応答を返します
カスタマイズ
プロンプトや動作をカスタマイズするには、以下を行います。
prompt変数を希望するテキストに変更しますget_contents()関数を調整して、プロンプトの形式を変更しますprocess_response()を拡張して、さまざまな応答の種類に対応します
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。