MCP REST API and CLI Client について
MCP サーバーと対話するための REST API とコマンドラインクライアント。LangChain と複数の LLM プロバイダーを統合し、複数の MCP サーバーがクエリに協力できます。
主な機能
- 01任意の MCP 互換サーバーに対応
- 02SQLite と Brave Search を事前構成
- 03LangChain 統合と LLM サポート
- 04REST API とコマンドラインインターフェース
- 05マルチサーバー協力
活用シーン
- 01コマンドラインからローカルデータベースをクエリして情報を検索
- 02複数のツール協力が必要な AI アプリケーションを構築
- 03異なる LLM プロバイダーで MCP サーバーをテスト
MCP 対応
複数の MCP サーバーに接続して管理し、LangChain を通じて LLM と MCP サービスを調整し、設定でカスタム MCP サーバーをサポートします。
詳細
MCP REST API とコマンドラインクライアント
Model Context Protocol (MCP) サーバーと対話するためのシンプルな REST API とコマンドラインクライアントです。
主な機能
1. MCP 互換サーバー
- 任意の MCP 互換サーバー をサポートします。
- 事前設定されたデフォルトサーバー:
- SQLite (test.db にはサンプル製品データが含まれています)
- Brave Search
- 追加の MCP サーバーは mcp-server-config.json ファイルで追加できます
2. LangChain との統合
- LangChain を活用して LLM プロンプトを実行します。
- 複数の MCP サーバーが協力して同時に特定のクエリに応答することを可能にします。
3. LLM プロバイダーサポート
- 関数機能をサポートする API を提供する任意の LLM プロバイダーと互換性があります。
- 例:
- OpenAI
- Claude
- Gemini
- AWS Nova
- Groq
- Ollama
- 基本的にすべての LLM プロバイダーが関数ベースの API を提供する限りサポートされます。詳細は langchain ドキュメント を参照してください。
セットアップ
-
リポジトリをクローンします:
git clone https://github.com/rakesh-eltropy/mcp-client.git -
プロジェクトディレクトリに移動する リポジトリをクローンした後、プロジェクトディレクトリに移動します:
cd mcp-client -
OPENAI_API_KEY 環境変数を設定します:
export OPENAI_API_KEY=your-openai-api-keymcp-server-config.json ファイルで
OPENAI_API_KEYを設定することもできます。mcp-server-config.json ファイルで
providerとmodelを設定することもできます。 例:providerはollamaでmodelはllama3.2:3bにできます。 -
BRAVE_API_KEY 環境変数を設定します:
export BRAVE_API_KEY=your-brave-api-keymcp-server-config.json ファイルで
BRAVE_API_KEYを設定することもできます。 無料のBRAVE_API_KEYは Brave Search API から取得できます。 -
CLI から実行する:
uv run cli.py利用可能なコマンドを確認するには、
helpオプションを使用します。chatコマンドを使用して LLM とチャットできます。 サンプルプロンプト:What is the capital city of India?Search the most expensive product from database and find more details about it from amazon? -
Running from the REST API:
uvicorn app:app --reload以下の curl コマンドを使用して LLM とチャットできます:
curl -X POST -H "Content-Type: application/json" -d '{"message": "list all the products from my local database?"}' http://localhost:8000/chat以下の curl コマンドを使用してストリーミングで LLM とチャットできます:
curl -X POST -H "Content-Type: application/json" -d '{"message": "list all the products from my local database?", "streaming": true}' http://localhost:8000/chat
貢献
改善やバグ修正のため、お気軽に Issue や Pull Request を送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。