PydanticAI MCP Experiment について
PydanticAI MCP Experimentは、pydantic_aiとOllamaなどのローカルモデルでMCPクライアントとサーバーを試すための小規模なサンプル集です。
主な機能
- 01stdioとHTTPのサーバー例
- 02FastAPIとStarletteのサーバー例
- 03各例にクライアントとサーバーのスクリプト
- 04ローカルモデルとOllamaの設定
活用シーン
- 01MCPサーバーの起動方法を比較する
- 02ローカルモデルでMCPクライアントを試す
- 03pydantic_ai MCPの学習用に例を変更する
MCP 対応
ローカルのstdioおよびHTTPサーバー設定を含む、MCPクライアントとサーバーのサンプルを収録しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PydanticAI MCP 実験
ローカルの LLM モデルに独自の MCP サーバーを提供するための、最小限の例です。
examples/ には、pydantic_ai とローカルモデル/ollama を使って MCP クライアントとサーバーを構成し、実際に試したり、いろいろと調整したりできる例が複数あります。
セットアップ
このプロジェクトは uv で管理されています。セットアップするには、次を実行してください。
uv sync
例
次の方法で MCP サーバー(ローカル)を実行する例が 4 つあります。
- Stdio ->
examples/0_subprocess - HTTP
mcp.run->examples/1_http_mcp_run- FastAPI ->
examples/2_http_fastapi - Starlette ->
examples/3_http_starlette
各フォルダーには client.py ファイルと server.py ファイルがあります。
client.py ファイルを実行する前に、サーバーを起動してください。
各スクリプトは、該当する例のフォルダーに移動すれば、次のコマンドだけで実行できるように設定されています。
python server.py
および
python client.py
ロギング
ここでは pydantic_ai を使用しているため、ロギングには logfire が自然な選択肢です。そのため、client.py ファイルを実行すると、logfire での認証を求められます。バックエンドを otel-tui のようなものに変更することもできますが、確認したかったプロンプトと応答メッセージを見つけようとしたものの、うまくいきませんでした。
参考資料
- pydantic + ollama:https://ai.pydantic.dev/models/openai/#example-local-usage
- pydantic ai + mcp + 「stdio」サーバー:https://ai.pydantic.dev/mcp/client/#mcp-stdio-server
- logfire のセットアップ:https://logfire.pydantic.dev/docs/#logfire - アカウントの作成が必要です
- otel-tui バックエンドでの logfire:https://ai.pydantic.dev/logfire/#logfire-with-an-alternative-otel-backend -> ドキュメントのスクリーンショットには表示されているにもかかわらず、プロンプトと応答は表示されません
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。