MCP注射
一个使用MCP将工具注入上下文的OpenAI API代理服务器。
这样做的用例是将网络搜索添加到家庭助理的语音中 助理。通常,当使用模型上下文协议时,客户端是 负责所有这些:
- 告诉LLM可用的工具
- 代表LLM运行工具
- 在上下文中包含运行这些工具的结果
此工具的目的是执行上述所有操作,因此客户端没有 到。这在客户端没有MCP的情况下特别有用 功能(例如许多家庭助理LLM集成)。
配置
设置 MCP_INJECT_BACKEND_URL 环境变量到您的基本URL 模型服务器。例如, http://127.0.0.1:8000/v1.URL路径如下 /chat/completions 将后缀到提供的URL。
如果在Docker中运行,建议设置 TZ 环境变量为 好吧,因为这会影响 _当前时间_ 工具。例如, TZ=America/New_York.
启动代理服务器
如果你有 uv 安装后,您可以按如下方式启动服务器:
cd mcp-inject
uv sync
uv run fastapi run app/main.py没有 uv,您可以这样启动服务器:
cd mcp-inject
python3 -m venv .venv
source .venv/bin/activate
pip install .
fastapi run app/main.py由于代理服务器是 快速API 服务器,您可以传递FastAPI标志,如 port 要绑定到特定端口:
fastapi run app/main.py --port 8001示例设置
- 设置一个与OpenAI兼容的模型服务器。
- 跑 _MCP注射_ 并将其指向
模型服务器。
- 运行OpenAI API客户端,例如
本地LLMs 家庭助理集成。 将其配置为对话 _MCP注射_.
现在,家庭助理集成将能够用 网络搜索的帮助。
目前包含的工具
- duckduckgo-mcp -通过DuckDuckGo进行网络搜索。选择此搜索后端是为了简单起见,因为它不需要API密钥。此MCP搜索还提供了一个获取URL内容的工具。
- 获取当前日期和时间 -这很方便,但它确实在这里,因为它是初始开发期间集成的最简单的工具。
