/ 目录 / 演练场 / MCP-Bridge
● 社区 SecretiveShell ⚡ 即开即用

MCP-Bridge

作者 SecretiveShell · SecretiveShell/MCP-Bridge

从任何兼容 OpenAI 的客户端(LibreChat、Open WebUI、你的自定义应用)使用 MCP 工具,无需原生 MCP 支持。协议转换中间件。

MCP-Bridge 位于你的兼容 OpenAI 的客户端和推理后端之间。它将 MCP server 的工具作为 OpenAI 函数调用工具来公开,分发调用,并返回结果来闭合循环。当你喜欢的聊天 UI 不支持 MCP 但支持 OpenAI 时非常有用。

为什么要用

核心特性

实时演示

实际使用效果

bridge.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "bridge": {
      "command": "uvx",
      "args": [
        "MCP-Bridge"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "bridge": {
      "command": "uvx",
      "args": [
        "MCP-Bridge"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "bridge": {
      "command": "uvx",
      "args": [
        "MCP-Bridge"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "bridge": {
      "command": "uvx",
      "args": [
        "MCP-Bridge"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "bridge",
      "command": "uvx",
      "args": [
        "MCP-Bridge"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "bridge": {
      "command": {
        "path": "uvx",
        "args": [
          "MCP-Bridge"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add bridge -- uvx MCP-Bridge

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: MCP-Bridge

为 LibreChat 等兼容 OpenAI 的聊天 UI 添加 MCP 工具

👤 自托管开源聊天前端的用户 ⏱ ~30 min intermediate

何时使用: 你正在运行 LibreChat、Big-AGI 或自定义应用(它调用 /v1/chat/completions 并希望使用工具),但不支持 MCP。

前置条件
  • 一个兼容 OpenAI 的推理后端 — OpenAI、Anthropic-via-proxy、vLLM、Ollama 等
  • 至少一个你想暴露的 MCP server — filesystem、fetch、postgres 等
步骤
  1. 编写 config.json
    为我编写一个 MCP-Bridge config.json,代理 OpenAI 并暴露 filesystem MCP(根目录在 /data)和 fetch MCP。✓ 已复制
    → 带有 inference_server 和 mcp_servers 部分的有效配置
  2. 通过 Docker 运行
    给我 docker run 命令以在端口 8000 上使用此配置启动 MCP-Bridge。✓ 已复制
    → 带有卷挂载的有效 docker 命令
  3. 将聊天 UI 指向 bridge
    告诉我在 LibreChat 中应该设置什么 API 基础 URL 来使用 bridge 而不是直接使用 OpenAI。✓ 已复制
    → 指向 http://localhost:8000/v1 的配置

结果: LibreChat 对话现在可以透明地调用 filesystem 和 fetch 工具。

注意事项
  • 并非所有兼容 OpenAI 的客户端都支持工具调用 — 在连接前验证你的 UI 是否在响应中支持 functions;检查其文档中的'工具调用'支持
  • 流式响应尚未实现 — 在客户端中禁用流式处理;使用非流式端点
搭配使用: filesystem · fetch

为你自己的 Python/JS agent 框架提供 MCP 工具访问

👤 在 OpenAI SDK 上构建自定义 agent 的开发者 ⏱ ~25 min intermediate

何时使用: 你在使用原始 OpenAI SDK(或 LangChain 的 OpenAI 客户端)构建,并且想在不重写 agent 的情况下接入 MCP 生态系统。

步骤
  1. 本地启动 MCP-Bridge
    运行 MCP-Bridge,上游设置为 OpenAI,以及这些 MCP server:[list]。✓ 已复制
    → Bridge 在 :8000 上监听
  2. 将 OpenAI 客户端 base_url 指向 bridge
    给我 Python SDK 初始化:client = OpenAI(base_url='http://localhost:8000/v1', api_key=...)。然后调用聊天补全。✓ 已复制
    → 可以直接使用的代码片段

结果: 为你现有的 agent 代码提供零改动的工具访问。

注意事项
  • Bridge 是单点故障 — 对于生产环境,使用 supervisord/systemd 和健康检查端点运行

组合

与其他 MCP 搭配,撬动十倍杠杆

bridge + filesystem + fetch

经济的自托管 ChatGPT 替代品,具有真实的工具使用

通过 MCP-Bridge 暴露 filesystem(根目录在 ~/Notes)和 fetch,然后使用 LibreChat 浏览和总结。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
POST /v1/chat/completions 兼容 OpenAI 的消息 + 工具省略(自动注入) 主入口点 — OpenAI 的直接替代 1 LLM call + N tool calls
GET /tools 发现可用的工具 free
SSE /bridge 通过 SSE 将外部 MCP 客户端连接到 bridge free

成本与限制

运行它的成本

API 配额
通道费用 — 无论你的上游推理提供商收费多少
每次调用 Token 数
Bridge 每次请求添加约 100-500 个工具定义 token
费用
免费(MIT)。你需要为你的 LLM 和托管位置付费。
提示
仅连接你需要的 MCP server — 每个连接的工具都会膨胀系统 prompt。

安全

权限、密钥、影响范围

凭据存储: 上游 API 密钥 + MCP server 凭据在 config.json 中;锁定文件权限
数据出站: 请求转到你配置的上游(例如 OpenAI)+ 任何 MCP server
切勿授予: 在不启用 bearer 认证的情况下不要将 bridge 暴露到互联网

故障排查

常见错误与修复

客户端报错'不支持工具使用'

上游模型或客户端 UI 不支持函数调用。使用支持此功能的模型(gpt-4o、claude、llama 3.1+)。

MCP server 连接被拒绝

检查 config.json 中的命令是否实际运行。Bridge 将其作为子进程运行;手动测试:npx -y the-mcp

启用认证时从 bridge 返回 401

设置 Authorization: Bearer <key> 头;密钥必须在配置的 security.auth.keys 下。

替代方案

MCP-Bridge 对比其他方案

替代方案何时用它替代权衡
Open WebUI 原生 MCP你专门使用 Open WebUI 0.6.31+内置 — 无需 bridge,但仅限 Open WebUI
LiteLLM 与自定义回调你想要多提供商路由 + 工具注入更复杂;LiteLLM 也不原生支持 MCP
mcpo你也想为非 LLM 客户端将 MCP 工具公开为纯 OpenAPI形式不同 — OpenAPI 优先而非聊天补全优先

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills