MCP Client Example ☀️ について
MCP でツールを備えたサーバーを作成し、クライアントから呼び出す方法を示す Python のサンプルプロジェクトです。MCP Python SDK を学習中の開発者向けです。
主な機能
- 01stdio による MCP サーバーへの接続
- 02BMI 計算ツールの提供
- 03非同期の天気取得ツールの提供
- 04サーバーのツール一覧の取得と呼び出し
活用シーン
- 01MCP クライアントとサーバーの基本的な実装の学習
- 02MCP Python SDK でのツール呼び出しの参照
MCP 対応
このプロジェクトは MCP クライアントと MCP サーバーの両方を含み、クライアントは stdio で接続してサーバーのツールを呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP クライアント例 ☀️
このプロジェクトは、Model Context Protocol (MCP) を使用したシンプルなクライアント・サーバー実装を示しています。MCP は、大規模言語モデルをツールやデータに接続するための標準化された方法です。
概要
このサンプルでは以下の方法を示しています:
- カスタムツールを備えた MCP サーバーを作成する
- MCP クライアントを使用してサーバーに接続する
- ツールを呼び出してサーバーからレスポンスを取得する
チュートリアルビデオ
上の画像をクリックして、MCP 実装に関するチュートリアルを視聴してください。
プロジェクト構造
.
├── pyproject.toml
├── README.md
├── src
│ ├── client
│ │ └── mcp_client.py # MCP client implementation
│ └── server
│ └── example_server.py # MCP server with tools
└── uv.lock
サーバー実装
サーバーは 2 つのツールを公開しています:
calculate_bmi- 体格指数 (BMI) を計算するシンプルな計算機fetch_weather- 外部 API から天気データを取得する非同期ツール
クライアント実装
クライアントは stdio 経由でサーバーに接続し、セッションを初期化してサーバーのツールを呼び出します。
はじめに
前提条件
- Python 3.9+
- uv (Python パッケージマネージャー)
インストール
# Install dependencies
uv install -e .
サンプルの実行
- クライアントを起動します (自動的にサーバーも起動されます):
uv run src/client/mcp_client.py
使用方法
クライアントは以下を実行します:
- サーバーに接続する
- 利用可能なツールをリストアップする
- サンプルデータを使用して BMI 計算機を呼び出す
- サンプル座標を使用して天気ツールを呼び出す
レスポンス例
Available tools: meta=None nextCursor=None tools=[...]
BMI calculation result: 22.857142857142858
Weather data: {"current_weather":{"temperature":14.2,"windspeed":12.6, ...}}
MCP Inspector でテストする
( 下のコマンドを実行してから http://localhost:5173 にアクセスしてください )
❯ mcp dev src/server/example_server.py
Starting MCP inspector...
Proxy server listening on port 3000
🔍 MCP Inspector is up and running at http://localhost:5173 🚀
New SSE connection
Query parameters: {
transportType: 'stdio',
command: 'uv',
args: 'run --with mcp mcp run src/server/example_server.py',
リソース
このプロジェクトは以下を使用しています:
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
