mcpField
M
MCP-CLI-HOST

MCP-CLI-HOST

github.com/vincent-pliフレームワーク・SDK2148 週間前に更新

MCP-CLI-HOST について

MCP-CLI-HOST は、LLM が Model Context Protocol 経由で外部ツールを呼び出せるコマンドライン型の MCP クライアントです。OpenAI、Azure OpenAI、Deepseek、Ollama、Gemini などのモデルに対応し、複数のモデルと MCP サーバーをターミナルから統一的に扱いたいユーザーに向いています。

主な機能

  1. 01複数の MCP サーバーへの同時接続
  2. 02ツールの動的な検出と統合
  3. 03サーバーの場所と引数の設定
  4. 04コンテキスト管理のためのメッセージ履歴ウィンドウ
  5. 05Sampling、Roots、Elicitation、リソース、プロンプトへの対応
  6. 06Streamable HTTP のリモートサーバー対応

活用シーン

  1. 01複数の LLM と対話しながらローカルまたはリモートのツールを呼び出す
  2. 02SQLite やファイルシステムなどの MCP サーバーを通じてデータを照会・操作する
  3. 03実行時に特定のツールを除外して利用可能な機能を制御する

MCP 対応

MCP クライアントとして ~/.mcp.json などの設定を読み込み、STDIO および Streamable HTTP 形式の MCP サーバーに接続します。サーバーが提供するツール、リソース、プロンプトを LLM から利用できるようにします。

詳細

MCPCLIHost 🤖

LLM(大規模言語モデル)がModel Context Protocol(MCP)を通じて外部ツールとやり取りできるようにするCLIホストアプリケーションです。現在、Openai、Azure Openai、Deepseek、Ollamaのモデルをサポートしています。

英語 | 簡体字中国語

外観 🤠

スナップショット

機能 ✨

  • 複数のLLMモデルとの対話型会話
  • 複数のMCPサーバーの同時利用をサポート
  • 動的なツールの検出と統合
  • MCPサーバーの場所と引数を設定可能
  • コンテキスト管理用のメッセージ履歴ウィンドウを設定可能
  • サーバー側のエラーを監視/追跡
  • Sampling、Roots、Elicitation、リソースの取得、プロンプトをサポート
  • 実行中に特定のツールを除外可能
  • 接続時にMCPサーバーカードを表示
  • ツール呼び出しの出力から画像を表示

最新の更新 💌

  • [2025-11-26] ツール呼び出しの出力から画像を表示する機能をサポート
  • [2025-07-18] Streamable HTTP mcp serverをサポート。OAuthプロセスはまだサポートされていません
  • [2025-07-02] Elicitationをサポート
  • [2025-06-27] MCPサーバーのPromptsに対応:リンク
  • [2025-06-20] MCPサーバーのResourcesに対応:リンク

環境設定 🔧

  1. OpenaiとDeepseekの場合:
export OPENAI_API_KEY='your-api-key'

Openaiのデフォルトのbase_urlは「https://api.openai.com/v1」です。 Deepseekの場合は「https://api.deepseek.com」です。`--base-url`で変更できます。

  1. Ollamaの場合は、まずセットアップが必要です:
  • https://ollama.ai からOllamaをインストールします
  • 使用するモデルをプルします:
ollama pull mistral
  • Ollamaが実行中であることを確認します:
ollama serve
  1. Azure Openaiの場合:
export AZURE_OPENAI_DEPLOYMENT='your-azure-deployment'
export AZURE_OPENAI_API_KEY='your-azure-openai-api-key'
export AZURE_OPENAI_API_VERSION='your-azure-openai-api-version'
export AZURE_OPENAI_ENDPOINT='your-azure-openai-endpoint'
  1. Google Geminiの場合
export GEMINI_API_KEY='your-gemini-api-token'

インストール 📦

pip install mcp-cli-host

設定 ⚙️

MCPCLIHostは設定ファイルを~/.mcp.jsonから自動的に検出します。--configフラグを使って、カスタムの場所を指定することもできます:

STDIO mcp server
{
  "mcpServers": {
    "sqlite": {
      "command": "uvx",
      "args": [
        "mcp-server-sqlite",
        "--db-path",
        "/tmp/foo.db"
      ]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/tmp"
      ]
    }
  }
}

各MCPサーバーエントリーには、次の項目が必要です:

  • command:実行するコマンド(例:uvx、npx)
  • args:コマンドの引数の配列:
    • SQLiteサーバーの場合:データベースのパスを指定したmcp-server-sqlite
    • ファイルシステムサーバーの場合:ディレクトリのパスを指定した@modelcontextprotocol/server-filesystem
リモートmcp server(Streamable HTTPのみサポート)
{
  "mcpServers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {"Authorization": "Bearer <your PAT>"}
    }
  }
}

使い方 🚀

MCPCLIHostは、統一されたインターフェースを通じてさまざまなAIモデルとやり取りできるCLIツールです。MCPサーバーを通じて、さまざまなツールをサポートします。

利用可能なモデル

モデルは--model(-m)フラグで指定できます:

  • Deepseek:deepseek:deepseek-chat
  • OpenAI:openai:gpt-4
  • Ollamaモデル:ollama:modelname
  • Azure Openai:azure:gpt-4-0613
  • Gemini:gemini:gemini-2.5-flash
例
# Use Ollama with Qwen model
mcpclihost -m ollama:qwen2.5:3b

# Use Deepseek
mcpclihost -m deepseek:deepseek-chat --sys-prompt 'You are a slightly playful assistant, please answer questions in a cute tone!'
フラグ
  • --config string:設定ファイルの場所(デフォルトは$HOME/mcp.json)
  • --debug:デバッグログを有効にする
  • --message-window int:コンテキストに保持するメッセージ数(デフォルト:10)
  • -m, --model string:使用するモデル(形式:provider:model)(デフォルトは"anthropic:claude-3-5-sonnet-latest")
  • --base-url string:OpenAI APIのベースURL(デフォルトはapi.openai.com)
  • --roots string:MCPクライアントがサーバーに公開するファイルシステムの「roots」
  • --sys-prompt string:システムプロンプト
対話型コマンド

チャット中に、次のコマンドを使用できます:

  • /help:利用可能なコマンドを表示
  • /tools:利用可能なすべてのツールを一覧表示
  • /exclude_tool tool_name:特定のツールを会話から除外
  • /resources:利用可能なすべてのリソースを一覧表示
  • /get_resource:URIで特定のリソースを取得。例:/get_resource resource_uri
  • /prompts:利用可能なすべてのプロンプトを一覧表示
  • /get_prompt:名前で特定のプロンプトを取得。例:/get_prompt prompt_name
  • /servers:設定済みのMCPサーバーを一覧表示
  • /history:会話履歴を表示
  • /quit:いつでも終了

MCPサーバーとの互換性 🔌

MCPCliHostは、MCPに準拠するあらゆるサーバーで動作します。例やリファレンス実装については、MCP Servers Repositoryを参照してください。

既知の問題 🐛

  • Sampling と Elicitation のシナリオで「Ctrl+c」を入力すると、asyncio.exceptions.CancelledError のようなエラーが発生してプロセスがクラッシュします。この問題は後日解決する予定です。

ライセンス 📄

このプロジェクトは Apache 2.0 License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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