mcpx-py について
mcpx-py は、mcp.run のツールを LLM から利用するための Python クライアントライブラリです。Python アプリケーションやコマンドラインから mcp.run のツールを呼び出す開発者を対象としており、PydanticAI が対応するモデルを利用できます。
主な機能
- 01PydanticAI が対応する全モデルのサポート
- 02mcp.run ツールを呼び出す Chat インターフェース
- 03result_type による構造化出力
- 04ツールの一覧表示と実行を行う mcpx-client
- 05Ollama や Llamafile によるローカルモデルの利用
活用シーン
- 01Python アプリケーションからの mcp.run ツールの呼び出し
- 02コマンドラインでのツールの一覧表示と実行
- 03LLM による構造化された要約の生成
MCP 対応
このライブラリは、mcp.run でホストされるツールに接続する MCP クライアントとして動作します。事前に gen-session でセッション ID を生成し、環境変数に設定する必要があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcpx-py
mcp.run のツールを使用して LLM とやり取りするための Python ライブラリです
機能
AI プロバイダーのサポート
mcpx-py は、PydanticAI がサポートするすべてのモデルに対応しています。
依存関係
uvnpmollama(任意)
mcp.run のセットアップ
次のコマンドを実行して、mcp.run のセッション ID を取得します。
npx --yes -p @dylibso/mcpx gen-session --write
これにより新しいセッションが作成され、mcpx-py で使用できる設定ファイルにセッション ID が書き込まれます。
セッション ID を環境変数に保存する必要がある場合は、--write フラグを付けずに gen-session を実行します。
npx --yes -p @dylibso/mcpx gen-session
次のような出力が表示されます。
Login successful!
Session: kabA7w6qH58H7kKOQ5su4v3bX_CeFn4k.Y4l/s/9dQwkjv9r8t/xZFjsn2fkLzf+tkve89P1vKhQ
次に、MPC_RUN_SESSION_ID 環境変数を設定します。
$ export MCP_RUN_SESSION_ID=kabA7w6qH58H7kKOQ5su4v3bX_CeFn4k.Y4l/s/9dQwkjv9r8t/xZFjsn2fkLzf+tkve89P1vKhQ
Python の使用方法
インストール
uv を使用する場合:
uv add mcpx-py
または pip を使用する場合:
pip install mcpx-py
コード例
from mcpx_py import Chat
llm = Chat("claude-3-5-sonnet-latest")
# Or OpenAI
# llm = Chat("gpt-4o")
# Or Ollama
# llm = Chat("ollama:qwen2.5")
# Or Gemini
# llm = Chat("gemini-2.0-flash")
response = llm.send_message_sync(
"summarize the contents of example.com"
)
print(response.data)
result_type を設定すると、構造化出力を取得することもできます。
from mcpx_py import Chat, BaseModel, Field
from typing import List
class Summary(BaseModel):
"""
A summary of some longer text
"""
source: str = Field("The source of the original_text")
original_text: str = Field("The original text to be summarized")
items: List[str] = Field("A list of summary points")
llm = Chat("claude-3-5-sonnet-latest", result_type=Summary)
response = llm.send_message_sync(
"summarize the contents of example.com"
)
print(response.data)
その他の例は、examples/ ディレクトリにあります。
コマンドラインの使用方法
インストール
uv tool install mcpx-py
Git から:
uv tool install git+https://github.com/dylibso/mcpx-py
または、リポジトリのルートから:
uv tool install .
uvx
mcpx-client は、uvx を使用してインストールせずに実行することもできます。
uvx --from mcpx-py mcpx-client
または Git から:
uvx --from git+https://github.com/dylibso/mcpx-py mcpx-client
実行
使用方法/ヘルプを表示する
mcpx-client --help
LLM とチャットする
mcpx-client chat
ツールを一覧表示する
mcpx-client list
ツールを呼び出す
mcpx-client tool eval-js '{"code": "2+2"}'
LLM の設定
プロバイダーのセットアップ
Claude
- https://console.anthropic.com で Anthropic API アカウントを登録します
- コンソールから API キーを取得します
- 環境変数を設定します:
ANTHROPIC_API_KEY=your_key_here
OpenAI
- https://platform.openai.com で OpenAI アカウントを作成します
- アカウント設定で API キーを生成します
- 環境変数を設定します:
OPENAI_API_KEY=your_key_here
Gemini
- https://aistudio.google.com で Gemini アカウントを作成します
- アカウント設定で API キーを生成します
- 環境変数を設定します:
GEMINI_API_KEY=your_key_here
Ollama
- https://ollama.ai から Ollama をインストールします
- 使用するモデルをプルします:
ollama pull llama3.2 - API キーは不要です。ローカルで実行されます
Llamafile
- https://github.com/Mozilla-Ocho/llamafile/releases から Llamafile モデルをダウンロードします
- ファイルを実行可能にします:
chmod +x your-model.llamafile - JSON API モードで実行します:
./your-model.llamafile --json-api --host 127.0.0.1 --port 8080 http://localhost:8080を指定する OpenAI プロバイダーを使用します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。