OpenAI API代理工具注入服务

一个OpenAI API代理服务器,通过MCP协议向上下文注入工具(如网络搜索、时间查询等),简化客户端集成。

  • by jpwoodbu
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jpwoodbu/mcp-inject

使用说明

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

示例设置

  1. 设置一个与OpenAI兼容的模型服务器。
  2. 跑 MCP注射 并将其指向 模型服务器。
  3. 运行OpenAI API客户端,例如 本地LLMs 家庭助理集成。 将其配置为对话 MCP注射.

现在,家庭助理集成将能够用 网络搜索的帮助。

目前包含的工具

  • duckduckgo-mcp -通过DuckDuckGo进行网络搜索。选择此搜索后端是为了简单起见,因为它不需要API密钥。此MCP搜索还提供了一个获取URL内容的工具。
  • 获取当前日期和时间 -这很方便,但它确实在这里,因为它是初始开发期间集成的最简单的工具。