Simple MCP Server & Client Sample (with Gemini Function Calling) について
MCPとGemini function callingを学ぶ開発者向けの、Pythonによる基本サンプルです。時刻に応じてGeminiが2つのサーバーツールから呼び出すものを選びます。
主な機能
- 01MCPサーバーとクライアントの基本例
- 02Gemini function calling対応クライアント
- 03greetまたはfarewellの自動選択
活用シーン
- 01MCPサーバーとクライアントの基本構築を学ぶ
- 02Geminiによるツール選択を試す
MCP 対応
基本的なMCPサーバーとクライアントを含みます。一方のクライアントはGemini function callingをサーバーツールに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
プロジェクトの README よりSimple MCP Server & Client Sample (with Gemini Function Calling)
概要
-
MCP(Model Context Protocol)とは?
機械学習モデルやAIエージェントに外部のツール(API)を呼ばせるプロトコル。 -
本リポジトリの目的
- 「MCPサーバ・クライアントの最小構成ってどう作るの?」
- 「LLM(Gemini)でどのツールを呼ぶか自動で選ばせたい」
というニーズ向けの備忘録です。
ファイル構成
-
mcp_simple_server1.py
MCPサーバの最小サンプル。 -
mcp_simple_client1.py
MCPクライアントの最小サンプル(接続確認用)。 -
mcp_simple_server2.py
MCPサーバの最小サンプル。
greet/farewellの2つのtoolを用意。 -
mcp_simple_client2.py
Gemini function callingを使ったMCPクライアント。
LLMが時刻によって自動でgreetまたはfarewellを選択し、サーバを呼び出します。
実行環境
- Python 3.13(3.10以上なら動作するはず)
- fastmcp >= 2.5.2
- google-genai >= 1.18.0
- uv (なくても動作するが高速化目的で推奨)
インストールと実行
- 必要なパッケージをインストール
uv init
uv add google-genai
uv add fastmcp
-
Gemini APIキーを取得し、環境変数
GEMINI_API_KEYに設定
(Google AI Studioで無料発行可能) -
サーバ・クライアントの起動例
-
サーバ単体で起動(例)
python mcp_simple_client1.py -
クライアント+Gemini連携で実行(例)
python mcp_simple_client2.py
使い方
- サンプルコードはすべてコピペ・実行可能です。
- Geminiのfunction callingで時刻によるtool選択をLLMに委ねています。
注意
- エラーハンドリングや例外処理はシンプルさを優先して省略しています。
- 実際の業務・サービス実装では適切なバリデーション、ログ、例外処理を追加してください。
License
MITライセンス等ご自由に。
備忘録・サンプル用途です。ご自身の責任でご利用ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。