mcpField
M
MCP CLI Client

MCP CLI Client

github.com/fbeunderフレームワーク・SDK086 週間前に更新

MCP CLI Client について

MCP CLI Clientは、ローカルまたはリモートのMCPサーバーに接続するPython製コマンドラインツール兼モジュールです。STDIOとSSE、JSON-RPCリクエスト、対話モードに対応しています。

主な機能

  1. 01STDIOによるローカル接続
  2. 02SSEによるリモート接続
  3. 03JSON-RPCリクエストの送信
  4. 04対話モードとコマンドラインモード
  5. 05Pythonモジュールとしての利用

活用シーン

  1. 01ローカルMCPサーバーへのリクエスト
  2. 02SSE経由でのリモートサーバーへの問い合わせ
  3. 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 モジュールとして他のプロジェクトに統合する

インストール

  1. リポジトリをクローンします:

    git clone https://github.com/Fbeunder/MCP_CLI_CLIENT.git
    cd MCP_CLI_CLIENT
    
  2. 仮想環境を作成します(オプションですが推奨):

    python -m venv venv
    source venv/bin/activate  # Op Windows: venv\Scripts\activate
    
  3. 必要なパッケージをインストールします:

    pip install -r requirements.txt
    
  4. アプリケーションを設定します:

    cp .env.example .env
    # Bewerk .env met je eigen configuratie
    
  5. 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 サーバーの URL
  • MCP_LOCAL_COMMAND:STDIO を介してローカルサーバーを起動するコマンド
  • API_KEY:認証用のオプションの API キー
  • LOG_LEVEL:ログレベル(DEBUG、INFO、ERROR)

テスト

このプロジェクトには、ユニットテストと統合テストを含む包括的なテストスイートが含まれています。

テストの実行
  1. テスト依存関係をインストールします:

    pip install -r requirements.txt
    
  2. すべてのテストを実行します:

    pytest
    
  3. カバレッジレポート付きでテストを実行します:

    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 サーバーとの通信エラー

ライセンス

MIT

コメント

MCP は初めてですか?

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

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