このプロジェクトは、 MCPプロトコルを介してローカルLLM(例:Qwen)を電卓やナレッジベースなどのツールに接続します。アシスタントはこれらのツールを自動的に検出して呼び出し、ユーザーのクエリに回答します。
📦 機能
🔧 MCP サーバーを介したツール実行
🧠 HTTP または OpenAI SDK 経由のローカル LLM 統合
📚 ナレッジベースのサポート (
data.json)⚡
stdioおよびsseトランスポートをサポート
Related MCP server: MCP Documentation Server
🗂 プロジェクトファイル
ファイル | 説明 |
| ツールを登録し、MCP サーバーを起動します |
|
|
| LLM + ツール呼び出しロジックに OpenAI 互換の SDK を使用 |
| stdio を使用する MCP クライアント |
| SSEを使用したMCPクライアント |
| Q&Aナレッジベース |
📥 インストール
要件
Python 3.8以上
依存関係をインストールします:
pip install -r requirements.txtrequirements.txt
aiohttp==3.11.18
nest_asyncio==1.6.0
python-dotenv==1.1.0
openai==1.77.0
mcp==1.6.0🚀 はじめに
1. MCPサーバーを実行する
python server.pyこれにより、 add 、 multiply 、 get_knowledge_baseなどの関数を含むツール サーバーが起動します。
2. クライアントを開始する
オプション A: HTTP クライアント (生の API 経由のローカル LLM)
python client-http.pyオプションB: OpenAI SDKクライアント
python client-openai.pyオプションC: stdioトランスポート
python client-stdio.pyオプションD: SSEトランスポート
server.pyが以下を設定していることを確認します。
transport = "sse"次に以下を実行します:
python client-sse.py💬 プロンプトの例
数学ツールの呼び出し
What is 8 times 3?応答:
Eight times three is 24.ナレッジベースの質問
What are the healthcare benefits available to employees in Singapore?応答には、 data.jsonからの関連する回答が含まれます。
📁 例: data.json
[
{
"question": "What is Singapore's public holiday schedule?",
"answer": "Singapore observes several public holidays..."
},
{
"question": "How do I apply for permanent residency in Singapore?",
"answer": "Submit an online application via the ICA website..."
}
]🔧 構成
client-http.pyまたはclientopenai.py内で、以下を更新します。
LOCAL_LLM_URL = "..."
TOKEN = "your-api-token"
LOCAL_LLM_MODEL = "your-model"LLM が OpenAI 互換の API エンドポイントを提供していることを確認します。
🧹 クリーンアップ
クライアントはツールの呼び出しと応答を自動的に処理します。Ctrl Ctrl+Cでサーバーまたはクライアントを停止できます。
🪪 ライセンス
MITライセンス。LICENSEファイルを参照してください。
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.