mcpField
M
MCP REST API and CLI Client

MCP REST API and CLI Client

github.com/rakesh-eltropyフレームワーク・SDK4985 週間前に更新

MCP REST API and CLI Client について

MCP サーバーと対話するための REST API とコマンドラインクライアント。LangChain と複数の LLM プロバイダーを統合し、複数の MCP サーバーがクエリに協力できます。

主な機能

  1. 01任意の MCP 互換サーバーに対応
  2. 02SQLite と Brave Search を事前構成
  3. 03LangChain 統合と LLM サポート
  4. 04REST API とコマンドラインインターフェース
  5. 05マルチサーバー協力

活用シーン

  1. 01コマンドラインからローカルデータベースをクエリして情報を検索
  2. 02複数のツール協力が必要な AI アプリケーションを構築
  3. 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 ドキュメント を参照してください。

セットアップ

  1. リポジトリをクローンします:

    git clone https://github.com/rakesh-eltropy/mcp-client.git
    
  2. プロジェクトディレクトリに移動する リポジトリをクローンした後、プロジェクトディレクトリに移動します:

    cd mcp-client
    
  3. OPENAI_API_KEY 環境変数を設定します:

    export OPENAI_API_KEY=your-openai-api-key
    

    mcp-server-config.json ファイルで OPENAI_API_KEY を設定することもできます。

    mcp-server-config.json ファイルで provider と model を設定することもできます。 例: provider は ollama で model は llama3.2:3b にできます。

  4. BRAVE_API_KEY 環境変数を設定します:

    export BRAVE_API_KEY=your-brave-api-key
    

    mcp-server-config.json ファイルで BRAVE_API_KEY を設定することもできます。 無料の BRAVE_API_KEY は Brave Search API から取得できます。

  5. 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?
    
  6. 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 を送信してください。

コメント

MCP は初めてですか?

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

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