MCP CLI Client について
MCP CLI Clientは、ローカルまたはリモートのMCPサーバーに接続するPython製コマンドラインツール兼モジュールです。STDIOとSSE、JSON-RPCリクエスト、対話モードに対応しています。
主な機能
- 01STDIOによるローカル接続
- 02SSEによるリモート接続
- 03JSON-RPCリクエストの送信
- 04対話モードとコマンドラインモード
- 05Pythonモジュールとしての利用
活用シーン
- 01ローカルMCPサーバーへのリクエスト
- 02SSE経由でのリモートサーバーへの問い合わせ
- 03PythonプロジェクトへのMCP接続の組み込み
MCP 対応
MCPクライアントとして、STDIOでローカルサーバーに、SSEでリモートサーバーに接続します。JSON-RPCリクエストを送り、対話モードとコマンドラインの両方で利用できます。
詳細
MCP CLI クライアント
MCP(Model Context Protocol)サーバーとローカル接続(STDIO)およびリモート接続(SSE)の両方を通じて連携するためのコマンドラインインターフェースです。
概要
MCP CLI クライアントを使用すると、ユーザーは以下のことができます:
- STDIO を介してローカル MCP サーバーに接続する
- SSE(Server-Sent Events)を介してリモート MCP サーバーに接続する
- JSON-RPC リクエストを接続されたサーバーに送信する
- コマンドラインモードとインタラクティブモードの両方で動作する
- Python モジュールとして他のプロジェクトに統合する
インストール
-
リポジトリをクローンします:
git clone https://github.com/Fbeunder/MCP_CLI_CLIENT.git cd MCP_CLI_CLIENT -
仮想環境を作成します(オプションですが推奨):
python -m venv venv source venv/bin/activate # Op Windows: venv\Scripts\activate -
必要なパッケージをインストールします:
pip install -r requirements.txt -
アプリケーションを設定します:
cp .env.example .env # Bewerk .env met je eigen configuratie -
Python パッケージとしてインストールするには:
pip install -e .
コマンドラインツールとしての使用
基本的なコマンド
# Verbinden met een lokale MCP-server en een verzoek uitvoeren
python main.py --local --method methodName --params '{"param1": "value1"}'
# Verbinden met een remote MCP-server en een verzoek uitvoeren
python main.py --remote --method methodName --params '{"param1": "value1"}'
# Starten in interactieve modus met een lokale server
python main.py --local
インタラクティブモード
インタラクティブモードでは、次の形式でコマンドを入力できます:
methodName {"param1": "value1", "param2": "value2"}
exit、quit、または q と入力してインタラクティブモードを終了します。
Python モジュールとしての使用
MCP CLI クライアントは、独自のプロジェクトで Python モジュールとしても使用できます:
from mcp_cli_client import MCPClient
# Maak een nieuwe client instantie
client = MCPClient()
# Verbind met een lokale MCP server
client.connect_stdio("path/to/local/mcp/server")
# OF verbind met een remote server
# client.connect_sse("https://mcp-server.example.com/events")
# Stuur verzoeken
response = client.send_request("getVersion")
print(response)
# Stuur verzoeken met parameters
response = client.send_request("echo", {"message": "Hello, MCP!"})
print(response)
# Sluit de verbinding
client.close()
モジュールとしてのインストール
他のプロジェクトで MCP CLI クライアントをモジュールとしてインストールするには:
# Vanuit de repo directory
pip install -e .
# OF direct vanaf GitHub
pip install git+https://github.com/Fbeunder/MCP_CLI_CLIENT.git
詳細な例
モジュールとしての使用の詳細な例については、examples/module_example.py を参照してください。
設定
設定は .env ファイルから読み込まれます。以下のオプションがあります:
MCP_SERVER_URL:リモート SSE サーバーの URLMCP_LOCAL_COMMAND:STDIO を介してローカルサーバーを起動するコマンドAPI_KEY:認証用のオプションの API キーLOG_LEVEL:ログレベル(DEBUG、INFO、ERROR)
テスト
このプロジェクトには、ユニットテストと統合テストを含む包括的なテストスイートが含まれています。
テストの実行
-
テスト依存関係をインストールします:
pip install -r requirements.txt -
すべてのテストを実行します:
pytest -
カバレッジレポート付きでテストを実行します:
pytest --cov=src
テスト構造
tests/test_mcp_client.py:MCPClient クラスのユニットテストtests/test_mcp_cli.py:コマンドラインインターフェースのユニットテストtests/test_integration.py:異なるコンポーネントを一緒にテストする統合テスト
API ドキュメント
MCPClient
MCPClient クラスは以下のメソッドを提供します:
connect_stdio(command=None):STDIO を介してローカル MCP サーバーに接続するconnect_sse(url=None):SSE を介してリモート MCP サーバーに接続するsend_request(method, params=None):JSON-RPC リクエストを送信するclose():接続を閉じる
例外
ConfigurationError:設定の読み込みまたは処理エラーConnectionError:接続作成エラーCommunicationError:MCP サーバーとの通信エラー
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。