Command Executor と Brave Search 向けの MCP ベースのクライアント サーバー アプリ
概要
このプロジェクトは、MCP(モデル・コンテキスト・プロトコル)を用いたクライアントサーバーアーキテクチャを実装し、ユーザープロンプトを処理し、**大規模言語モデル(LLM)**を用いてその意図を判定し、適切なサービスにルーティングして実行します。システムは2つの主要コンポーネントで構成されています。
- **クライアント:**ユーザー入力を処理して LLM に送信し、LLM の決定に基づいて適切なサーバーに要求を転送します。
- サーバー: LLMのJSONレスポンスで指定されたツールに基づいてリクエストを処理します。システムコマンドを実行するか、Brave Search APIを使用してWebデータを取得します。
LLMは、ユーザーリクエストがコマンド実行またはWeb検索のどちらを必要とするかを判断します。プロンプトが不明瞭な場合、LLMはツール名( command_execution
またはfetch_web_data
)と必要な引数を指定する構造化されたJSONレスポンスを生成する前に、追加の質問をします。
フロー図
働く
- **ユーザー入力:**ユーザーは CLI にプロンプトを入力します。
- **クライアント処理:**クライアントはプロンプトを LLM に転送します。
- LLM決定:
- 意図が不明瞭な場合、LLM は追加の質問をします。
- ツール名と必要な引数を指定した JSON 応答を生成します。
- クライアントルーティング:
- ツールが
command_execution
の場合:- 要求はコマンド サーバーに送信されます。
- コマンド サーバーは、 Python の
subprocess
モジュールを使用してコマンドを実行します。 - 成功または失敗の応答が返されます。
- ツールが
fetch_web_data
場合:- リクエストはFetch Web Data Serverに送信されます。
- サーバーは関連する結果をBrave Search API に照会します。
- 検索結果がクライアントに返されます。
- ツールが
- **クライアント応答:**クライアントは CLI 経由で最終応答をユーザーに返します。
前提条件
- Python 3.x
- pip (Python パッケージ マネージャー)
- 仮想環境のセットアップ(オプションですが推奨)
- UV/UVXのインストール: UVインストールガイド
- Brave Search API: Brave Search API キー
- 以下のいずれかのLLM:
インストール
1. リポジトリをクローンする
2. 仮想環境を作成してアクティブ化する
3. 依存関係をインストールする
4. LLMモデルを構成する
Ollamaモデルの使用
- Ollama インストール ガイドの指示に従って、Ollama CLI ツールをインストールします。
- 次に、Ollama を確認します。
- クライアント コマンドでモデルを指定します (llama3 または llama2)。
Groqモデルの使用
- Groq の API キーを保存するための
.env
ファイルを作成します。 - Groq の API キーを
.env
ファイルに追加します。
5. Brave Search APIを設定する
Brave の API キーを.env
ファイルに追加します。
走る
- Ollamaモデルを使用するには
- Groqモデルを使用するには
テスト
クライアントにクエリを渡します (例: touch test.txt
、 create text file with test
、 rm test.txt file
など)
🚀 Docker プロジェクトのセットアップガイド
📌 コード実行手順
1️⃣ Gitリポジトリをクローンする
2️⃣ モデル選択の設定を編集する
config.ini ファイルを変更して、モデルのタイプと名前を指定します。
3️⃣ Dockerコンテナを構築する
4️⃣ モデルクライアントを実行する
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
大規模言語モデル (LLM) を介してユーザーの意図を解釈することにより、Brave Search API を使用してシステム コマンドの実行と Web データの取得を容易にします。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates integration of Brave Search functionalities with AI assistants through the Model Context Protocol, enabling web and local searches using the Brave Search API.Last updated -24PythonMIT License
- -securityFlicense-qualityEnables LLMs to perform sophisticated web searches through proxy servers using Tavily's API, supporting comprehensive web searches, direct question answering, and recent news article retrieval with AI-extracted content.Last updated -1Python
- AsecurityAlicenseAqualityEnables extracting data from websites using natural language prompts, allowing users to specify exactly what content they want in plain English and returning structured JSON data.Last updated -11,3794TypeScriptMIT License
- -securityAlicense-qualityProvides AI-powered web search capabilities using Tavily's search API, enabling LLMs to perform sophisticated web searches, get direct answers to questions, and search recent news articles.Last updated -53PythonMIT License