hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
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. リポジトリをクローンする
Copy
2. 仮想環境を作成してアクティブ化する
Copy
3. 依存関係をインストールする
Copy
4. LLMモデルを構成する
Ollamaモデルの使用
- Ollama インストール ガイドの指示に従って、Ollama CLI ツールをインストールします。
- 次に、Ollama を確認します。Copy
- クライアント コマンドでモデルを指定します (llama3 または llama2)。Copy
Groqモデルの使用
- Groq の API キーを保存するための
.env
ファイルを作成します。Copy - Groq の API キーを
.env
ファイルに追加します。Copy
5. Brave Search APIを設定する
Brave の API キーを.env
ファイルに追加します。
Copy
走る
- Ollamaモデルを使用するには
Copy
- Groqモデルを使用するには
Copy
テスト
クライアントにクエリを渡します (例: touch test.txt
、 create text file with test
、 rm test.txt file
など)
Copy
🚀 Docker プロジェクトのセットアップガイド
📌 コード実行手順
1️⃣ Gitリポジトリをクローンする
Copy
2️⃣ モデル選択の設定を編集する
config.ini ファイルを変更して、モデルのタイプと名前を指定します。
Copy
3️⃣ Dockerコンテナを構築する
Copy
4️⃣ モデルクライアントを実行する
Copy
This server cannot be installed
大規模言語モデル (LLM) を介してユーザーの意図を解釈することにより、Brave Search API を使用してシステム コマンドの実行と Web データの取得を容易にします。