mcpField
M
mcpx-py

mcpx-py

ローカル
docs.mcp.runAI・エージェント2577 週間前に更新

mcpx-py について

mcpx-py は、mcp.run のツールを LLM から利用するための Python クライアントライブラリです。Python アプリケーションやコマンドラインから mcp.run のツールを呼び出す開発者を対象としており、PydanticAI が対応するモデルを利用できます。

主な機能

  1. 01PydanticAI が対応する全モデルのサポート
  2. 02mcp.run ツールを呼び出す Chat インターフェース
  3. 03result_type による構造化出力
  4. 04ツールの一覧表示と実行を行う mcpx-client
  5. 05Ollama や Llamafile によるローカルモデルの利用

活用シーン

  1. 01Python アプリケーションからの mcp.run ツールの呼び出し
  2. 02コマンドラインでのツールの一覧表示と実行
  3. 03LLM による構造化された要約の生成

MCP 対応

このライブラリは、mcp.run でホストされるツールに接続する MCP クライアントとして動作します。事前に gen-session でセッション ID を生成し、環境変数に設定する必要があります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mcpx-py": {
"command": "npx",
"args": [
"-y",
"@dylibso/mcpx"
]
}
}
}
起動コマンドnpx -y @dylibso/mcpx

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dylibso/mcpx

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcpx-py

PyPI

mcp.run のツールを使用して LLM とやり取りするための Python ライブラリです

機能

AI プロバイダーのサポート

mcpx-py は、PydanticAI がサポートするすべてのモデルに対応しています。

依存関係

  • uv
  • npm
  • ollama(任意)

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
  1. https://console.anthropic.com で Anthropic API アカウントを登録します
  2. コンソールから API キーを取得します
  3. 環境変数を設定します:ANTHROPIC_API_KEY=your_key_here
OpenAI
  1. https://platform.openai.com で OpenAI アカウントを作成します
  2. アカウント設定で API キーを生成します
  3. 環境変数を設定します:OPENAI_API_KEY=your_key_here
Gemini
  1. https://aistudio.google.com で Gemini アカウントを作成します
  2. アカウント設定で API キーを生成します
  3. 環境変数を設定します:GEMINI_API_KEY=your_key_here
Ollama
  1. https://ollama.ai から Ollama をインストールします
  2. 使用するモデルをプルします:ollama pull llama3.2
  3. API キーは不要です。ローカルで実行されます
Llamafile
  1. https://github.com/Mozilla-Ocho/llamafile/releases から Llamafile モデルをダウンロードします
  2. ファイルを実行可能にします:chmod +x your-model.llamafile
  3. JSON API モードで実行します:./your-model.llamafile --json-api --host 127.0.0.1 --port 8080
  4. http://localhost:8080 を指定する OpenAI プロバイダーを使用します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。