mcp-chat について
mcp-chatは、MCPサーバーやエージェントのテストと評価に使うオープンソースのクライアントです。CLIとWebのチャットに対応し、ツール呼び出しの詳細からサーバーの動作を確認できます。
主な機能
- 01対話型CLIチャット
- 02Webインターフェースでのチャット
- 03ローカルまたはリモートのMCPサーバーに接続
- 04モデル選択とシステムプロンプトの設定
- 05チャットとコマンド履歴の保存
- 06ツール呼び出しの引数と出力の確認
活用シーン
- 01開発中のローカルMCPサーバーのテスト
- 02MCPツール呼び出し結果の確認
- 03Web UIでサーバーを設定してチャット
MCP 対応
MCPクライアントとして、ローカルコマンドで起動するサーバーやStreamable HTTPエンドポイントに接続し、Claude Desktopの設定も読み込めます。チャット内でツール呼び出しの引数と結果を表示します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-chat
MCP サーバーとエージェントをテスト・評価するためのオープンソース汎用 MCP クライアント
クイックスタート
環境変数として、またはプロジェクトのルートにある .env ファイルに ANTHROPIC_API_KEY が設定されていることを確認してください。Anthropic Console keys page で登録すると、API キーを取得できます。
CLI からファイルシステム MCP サーバーを起動し、対話型チャットプロンプトを表示する簡単な使用例です。
npx mcp-chat --server "npx -y @modelcontextprotocol/server-filesystem /Users/$USER/Desktop"
チャットプロンプトが開き、サーバーと対話したり、LLM とチャットしたりできます。
設定
claude_desktop_config.json(Mac)を指定することもできます。
npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"
または(Windows):
npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"
Web モード
https://github.com/user-attachments/assets/b7e8a648-8084-4955-8cdf-fc6eb141572e
--web フラグを指定して、mcp-chat を Web モードで実行することもできます(環境変数として ANTHROPIC_API_KEY が設定されていることを確認してください)。
npx mcp-chat --web
Web モードでは、新しいチャットを開始し、モデルにメッセージを送信し、UI から MCP サーバーを動的に設定できます。コマンドラインで指定する必要はありません。また、Web UI で作成したチャットは、CLI で作成したチャットと同様に ~/.mcpchats/chats に保存されます。
機能
- CLI の対話モードで実行するか、
-pでプロンプトを直接渡して実行できます - Web モード(
--web)で、Web インターフェースからモデルとチャットできます - 本番環境または開発中に、任意の MCP サーバー(JS、Python、Docker)に接続できます
-
-mでモデルを選択できます -
--systemでシステムプロンプトをカスタマイズできます - Web チャットを含むチャット履歴と設定を
~/.mcpchat/chatsに保存します - コマンドを
~/.mcpchat/historyに保存して復元できます - ツールの呼び出し出力と引数をチャット内で直接確認して、MCP サーバーのデバッグに役立てることができます
CLI の使い方
-p フラグを使って、CLI からプロンプトを実行します。
npx mcp-chat --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"
Kubernetes MCP サーバーでプロンプトを実行し、応答が標準出力に返されると終了します。
-m フラグを使って、CLI からチャットするモデルを選択します。
npx mcp-chat --server "npx mcp-server-kubernetes" -m "claude-3.5"
チャットにはモデル claude-3.5 を使用します。現在サポートされているのは Anthropic のモデルのみです。
カスタムシステムプロンプト:
--system フラグを使って、システムプロンプトを指定できます。
npx mcp-chat --system "Explain the output to the user in pirate speak." --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"
リモート MCP サーバー
ローカルコマンドの代わりに、Streamable HTTP エンドポイントの URL を --server に渡します。
npx mcp-chat --server "https://example.com/mcp" -p "What tools do you have available?"
http:// または https:// で始まるサーバー文字列は、CLI と Web モードのチャット設定の両方で Streamable HTTP エンドポイントとして扱われます。レガシー SSE エンドポイントと、認証が必要なサーバーは現在サポートされていません。
環境変数
Mcp-chat は環境変数を MCP サーバーに渡すことをサポートしています。ただし、これは MCP 仕様で標準化されておらず、他のクライアントでは動的な環境変数の値を渡せない場合があります。標準的な stdio MCP クライアントについては、こちらをご覧ください。
KUBECONFIG="~/.kube/config" npx mcp-chat --server "npx mcp-server-kubernetes"
MCP サーバーの開発者向け
ローカルでビルドした Python または Node の MCP サーバーを渡して、mcp-chat でテストできます。
Node JS:
# Directly executing built script
npx mcp-chat --server "/path/to/mcp-server-kubernetes/dist/index.js"
# Using node / bun
npx mcp-chat --server "node /path/to/mcp-server-kubernetes/dist/index.js"
Python:
# Python: Using uv
npx mcp-chat --server "uv --directory /path/to/mcp-server-weather/ run weather.py"
# Using python / python3 - make sure to run in venv or install deps globally
npx mcp-chat --server "/path/to/mcp-server-weather/weather.py"
開発
依存関係をインストールして CLI を実行します。
git clone https://github.com/Flux159/mcp-chat
bun install
bun run dev
MCP サーバーに接続しながら mcp-chat を開発するには、ビルドしてサーバーフラグを付けて CLI を実行します。
npm run build && node dist/index.js --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"
テスト:
bun run test
ビルド:
bun run build
公開:
bun run publish
Docker の公開:
bun run dockerbuild
プロジェクト構成
├── src/
│ ├── index.ts # Main client implementation & CLI params
│ ├── constants.ts # Default constants
│ ├── interactive.ts # Interactive chat prompt handling & logic
├── test/ # Test files
│ ├── cli.test.ts # Test CLI params
│ ├── config.test.ts # Test config file parsing
新しいリリースの公開
リリースページに移動し、「Draft New Release」をクリックします。「Choose a tag」をクリックして、「v{major}.{minor}.{patch}」の SemVer 形式で新しいバージョン番号を入力し、新しいタグを作成します。次に、リリースタイトル「Release v{major}.{minor}.{patch}」と、必要に応じて説明または変更履歴を入力し、「Publish Release」をクリックします。
これにより新しいタグが作成され、cd.yml ワークフローによる新しいリリースビルドが実行されます。成功すると、新しいリリースが npm に公開されます。ワークフローが package.json ファイルのバージョン番号を自動的に更新し、main にコミットをプッシュするため、package.json のバージョンを手動で更新する必要はありません。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。