mcpField
M
Model Context Protocol CLI

Model Context Protocol CLI

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

Model Context Protocol CLI について

Model Context Protocol CLI は、MCP サーバーと対話するためのコマンドラインクライアントです。OpenAI と Ollama のモデルに対応し、チャットやツール、リソース、プロンプトの探索を行えます。

主な機能

  1. 01MCP サーバーとのプロトコル通信
  2. 02ツールとリソースの動的な探索
  3. 03OpenAI と Ollama に対応
  4. 04インタラクティブなチャットモード
  5. 05ツール、リソース、プロンプトの一覧コマンド

活用シーン

  1. 01サーバーのツールとリソースの確認
  2. 02OpenAI を使ったサーバーとのチャット
  3. 03Ollama を使ったサーバーとの対話

MCP 対応

サーバー設定で指定した MCP サーバーに接続します。ツール、リソース、プロンプトを一覧表示し、チャットを通じてサーバーと対話できます。

詳細

Model Context Protocol CLI

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

機能

  • MCP サーバーとのプロトコルレベルの通信。
  • 動的なツールとリソースの探索。
  • 複数のプロバイダーとモデルのサポート:
    • プロバイダー: OpenAI、Ollama。
    • デフォルトモデル: OpenAI の場合は gpt-4o、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。
  • --provider: (オプション)使用するプロバイダーを指定します(openai または ollama)。デフォルトは openai。
  • --model: (オプション)使用するモデルを指定します。デフォルトはプロバイダーに依存します:
    • OpenAI の場合は gpt-4o。
    • Ollama の場合は llama3.2。
例

デフォルトの OpenAI プロバイダーとモデルでクライアントを実行してください:

uv run mcp-cli --server sqlite

特定の設定と Ollama プロバイダーでクライアントを実行してください:

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

インタラクティブモード

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

サポートされるコマンド

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

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

uv run mcp-cli --server sqlite

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

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

OpenAI プロバイダーの使用:

OpenAI モデルを使用したい場合は、

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

貢献

貢献を歓迎します。問題を報告するか、提案する変更をプルリクエストで送信してください。

ライセンス

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

コメント

MCP は初めてですか?

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

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