MCP-Bridge 是一个中间件,用于在 OpenAI API 与 MCP(Model Context Protocol,模型上下文协议)工具之间建立桥接,使开发者能够通过 OpenAI API 接口使用 MCP 工具。它的目标是在任何 OpenAI 兼容客户端中使用任意 MCP 工具,而无需客户端本身显式支持 MCP。
用途 MCP-Bridge 提供一组与 OpenAI API 兼容的端点,用于与 MCP 工具交互。官方给出的示例包括让 Open WebUI 使用官方的 MCP fetch 工具。
主要能力(当前已实现的功能)
- 带 MCP 的非流式聊天补全
- 带 MCP 的流式聊天补全
- 不带 MCP 的非流式补全
- 面向外部客户端的 SSE 桥接
计划中的功能
- 流式补全(streaming completions)尚未实现
- 计划支持 MCP 资源(MCP resources)
工作原理 应用位于 OpenAI API 与推理引擎之间。传入请求会被修改,加入 MCP 服务器上所有可用 MCP 工具的工具定义;请求随后被转发至推理引擎,推理引擎利用这些工具定义生成工具调用。MCP-Bridge 接着管理对工具的实际调用,再把工具调用结果加入请求并再次返回给推理引擎,以便 LLM 生成回复。最后,回复返回给 OpenAI API。
使用方式 推荐使用 Docker 安装,并提供了示例 compose.yml。注意这需要一个支持工具调用的推理引擎;官方表示已在 vLLM 上测试成功,ollama 也应兼容。
Docker 安装步骤:
- 克隆仓库。
- 编辑 compose.yml 文件。
- 在 compose.yml 中添加对 config.json 文件的引用,可选任一方式:
- 将 config.json 放到与 compose.yml 相同的目录并使用卷挂载(需要手动添加卷);
- 在环境变量中添加一个 http url,从该 url 下载 config.json;
- 将 config JSON 直接作为环境变量添加。
- 运行服务。
手动安装(不使用 Docker): 需要安装依赖并在根目录创建 config.json,然后手动运行应用。应用运行后,即可通过 OpenAI API 与之交互。可访问 http://yourserver:8000/docs 查看文档;其中有一个端点可列出服务器上所有可用的 MCP 工具,用于测试配置是否正确。
REST API 端点 MCP-Bridge 暴露多个 REST API 端点,用于与所有原生 MCP 原语交互,从而在不牺牲功能的前提下,把处理 MCP 服务器的复杂性外包给 MCP-Bridge。具体用法可查看 openapi 文档。
SSE 桥接 MCP-Bridge 还提供面向外部客户端的 SSE 桥接,使显式支持 MCP 的外部聊天应用可以把 MCP-Bridge 当作 MCP 服务器使用。将客户端指向 SSE 端点(http://yourserver:8000/mcp-server/sse)即可看到服务器上所有可用的 MCP 工具。这也便于测试配置是否正常,可使用 wong2/mcp-cli 测试:npx @wong2/mcp-cli --sse http://localhost:8000/mcp-server/sse。若想在 Claude Desktop 或其他仅支持 STDIO 的 MCP 客户端中使用这些工具,可借助 lightconetech/mcp-gateway 之类的工具。
配置 要添加新的 MCP 服务器,请编辑 config.json 文件。
API Key 鉴权 MCP-Bridge 支持 API key 鉴权以保护服务器。在 config.json 中配置后,请求 MCP-Bridge 服务器时需在 Authorization 头中以 Bearer token 形式携带 API key。如果 api_key 字段为空或配置中不存在,则跳过鉴权,以保持向后兼容。
适用场景 适合希望让已有的、不支持 MCP 的 OpenAI 兼容客户端(如 Open WebUI 等)使用 MCP 工具的场景,也适合通过 REST API 或 SSE 桥接在外部应用中集成 MCP 能力。
限制与注意事项
- 流式补全(streaming completions)尚未实现。
- MCP 资源支持仍在计划中。
- 需要一个支持工具调用的推理引擎。
- 项目正在寻找新的维护者,可通过 Discord 或提交 issue 联系。
- 由于 Open WebUI 自 v0.6.31 起原生支持 MCP,官方认为 MCP-Bridge 现已处于软弃用(soft deprecated)状态。
项目采用 MIT 许可证。若遇到问题,可提交 issue 或加入 Discord;官方还提供了其他文档。