mcpField
M
Model Context Protocol CLI

Model Context Protocol CLI

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

Model Context Protocol CLI について

MCP サーバーと対話するプロトコルレベルの CLI クライアントです。ツールとリソース探索に対応し、OpenAI または Ollama プロバイダーを設定できます。

主な機能

  1. 01MCP サーバー通信
  2. 02動的ツール・リソース探索
  3. 03OpenAI と Ollama 対応
  4. 04インタラクティブチャットモード
  5. 05複数サーバー対応

活用シーン

  1. 01サーバー提供のツール実行と問い合わせ
  2. 02インタラクティブなデータ取得とコマンド実行
  3. 03複数 MCP サービス間の連携

MCP 対応

MCP クライアントとして、MCP サーバーに接続し、サーバーが公開するツール、リソース、プロンプトを検出して呼び出すコマンドラインインターフェースを提供します。

詳細

Model Context Protocol CLI

このリポジトリは、Model Context Protocol サーバーと相互作用するために設計されたプロトコルレベルの CLI を含んでいます。クライアントは、ユーザーがコマンドを送信したり、データを照会したり、サーバーが提供する様々なリソースと相互作用したりできます。

機能

  • MCP サーバーとのプロトコルレベルの通信。
  • 動的なツールとリソースの探索。
  • 複数のプロバイダーとモデルのサポート:
    • プロバイダー: OpenAI、Ollama。
    • デフォルトモデル: OpenAI の場合は gpt-4o-mini、Ollama の場合は qwen2.5-coder。

前提条件

  • Python 3.8 以上。
  • 必要な依存関係(インストールを参照)
  • Ollama を使用する場合は、Ollama がインストールされて実行されている必要があります。
  • OpenAI を使用する場合は、環境変数に API キーが設定されている必要があります (OPENAI_API_KEY=yourkey)

インストール

  1. リポジトリをクローンします:
git clone https://github.com/chrishayuk/mcp-cli
cd mcp-cli
  1. UV をインストールします:
pip install uv
  1. 依存関係を再同期します:
uv sync --reinstall

使用方法

クライアントを起動して SQLite サーバーと相互作用するには、次のコマンドを実行します:

uv run mcp-cli --server sqlite
コマンドライン引数
  • --server: 使用するサーバー設定を指定します。必須です。
  • --config-file: (オプション) JSON 設定ファイルへのパス。デフォルトは server_config.json です。
    • --all: (オプション) 設定で提供されているすべてのサーバーを使用します
  • --provider: (オプション) 使用するプロバイダーを指定します (openai または ollama)。デフォルトは openai です。
  • --model: (オプション) 使用するモデルを指定します。デフォルトはプロバイダーに依存します:
    • OpenAI の場合は gpt-4o-mini。
    • Ollama の場合は llama3.2。
例

デフォルトの OpenAI プロバイダーとモデルでクライアントを実行します:

uv run mcp-cli --server sqlite

特定の設定と Ollama プロバイダーでクライアントを実行します:

uv run mcp-cli --server sqlite --provider ollama --model llama3.2

デフォルトの OpenAI プロバイダーとモデルでクライアントを実行し、設定内のすべてのサーバーを提供します:

uv run mcp-cli --config "path to your server_config.json" --all

インタラクティブモード

クライアントはインタラクティブモードをサポートしており、コマンドを動的に実行できます。利用可能なコマンドのリストを表示するには help を入力し、プログラムを終了するには quit を入力します。

サポートされているコマンド

  • ping: サーバーが応答しているかを確認します。
  • list-tools: 利用可能なツールを表示します。
  • list-resources: 利用可能なリソースを表示します。
  • list-prompts: 利用可能なプロンプトを表示します。
  • chat: インタラクティブチャットモードに入ります。
  • clear: ターミナル画面をクリアします。
  • help: サポートされているコマンドのリストを表示します。
  • quit/exit: クライアントを終了します。
チャットモード

チャットモードに入ってサーバーと相互作用するには:

uv run mcp-cli --server sqlite

または複数のサーバーの場合:

uv run mcp-cli --server sqlite --server exa --server filesystem --server sequential-thinking --server memory

その後、'chat' コマンドを使用してチャットモードに入ります。 チャットモードでは、ツールを使用してサーバーをインタラクティブにクエリできます。起動時に指定されたプロバイダーとモデルは次のように表示されます:

Entering chat mode using provider 'ollama' and model 'llama3.2'...

OpenAI プロバイダーの使用:

OpenAI モデルを使用したい場合は、以下を実行する必要があります

  • クライアントを実行する前に、OPENAI_API_KEY 環境変数を .env またはシステム環境変数として設定します。

貢献

貢献を歓迎します。問題を開くか、提案した変更とともにプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。

コメント

MCP は初めてですか?

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

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