← 返回目录
M

MCPO

官方
网关 / 代理
将 MCP 工具即时转换为 OpenAPI 服务。

这是聚合或代理其他 MCP Server 的网关,需要再接入具体的 Server 才有实际能力。

分类
开发工具 第 219 / 438
Stars
★ 4.4k 非常热门
传输方式
stdio(本地进程) · SSE · Streamable HTTP
运行环境
Python 3.8+ · Docker
凭据
可选 API Key
许可证
MIT
最近提交
⚠
53FMRS · D

mcpo 将 MCP 工具转换为 OpenAPI 兼容的 HTTP 服务,支持 stdio、SSE 和 Streamable HTTP,并提供自动生成文档、多服务器配置、热重载和 Streamable HTTP 下的 OAuth 2.1 支持。

最强项 · 安装易用性 13/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
8/20
维护活跃度
11/20
文档质量
13/20
安装易用性
13/20
查看各项评分依据
可靠性 8/20
README 展示了 uv、pip、Docker、stdio、SSE、Streamable HTTP 和配置文件路径,且提到测试命令,因此正常启动和代理流程是合理可行的。但未提供已缓存的 manifest、源代码、CI 工作流或测试内容,无法验证 MCP 初始化、工具列表与实际行为、错误处理、依赖锁定或边界情况;按静态校准不得给出高分,故扣分。
安全与权限 8/20
README 提供 API key、OAuth 2.1、SSE 请求头和 token 文件存储说明,显示出基本的认证意识;示例中的 top-secret 是占位符而非真实凭据。但代理可运行任意 MCP 命令并连接外部 HTTP 端点,且缺少源代码证据来确认权限范围、凭据保护、数据流隔离、危险工具确认、网络限制和 token 文件权限;“secure”主要是声明而非可审查证据,因此扣分。
维护活跃度 11/20
仓库未归档,明确声明 MIT 许可证,并显示有较高社区关注度和开放问题,说明项目仍可能活跃。可是提示材料没有发布日期、版本/发布策略、提交或维护者响应证据、依赖更新机制或安全漏洞响应渠道;明星数不计入评分,因此只能给中等分数。
文档质量 13/20
README 覆盖安装、stdio/SSE/Streamable HTTP、Docker、API key、子路径、多服务器配置、热重载、OAuth、开发和测试命令,并给出多个示例,文档可用性较强。扣分项包括缺少具体工具参数与行为说明、限制、成本、故障排查和安全边界;配置示例含有 JSON 注释,严格来说不是有效 JSON,且关键实现声明无法由源文件复核。
安装易用性 13/20
提供 uvx、pip 和 Docker 三种安装路径,并覆盖本地命令、SSE、Streamable HTTP、API key、配置文件和 Open WebUI 集成入口,步骤总体清晰。扣分原因是未提供客户端配置的完整可复核示例,OAuth 依赖浏览器回调和外部服务器,且没有源代码、CI 或已验证测试证据支持跨平台和关键路径;因此不接近满分。

静态评测 · 未实际运行收录于 2026-07-30

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络

适合谁

  • 需要通过 HTTP 使用 MCP 工具的 LLM 应用和开发者
  • 使用 OpenAPI 工具、SDK 或 UI 的团队
  • 需要多服务器配置、热重载或 OAuth 2.1 的场景

不适合谁

  • 只需要直接使用原生 MCP stdio 通信的客户端
  • 不愿管理 API 密钥、网络端口或代理安全配置的部署
  • 需要证据中未说明的其他协议或客户端集成

所需权限

  • 需要执行指定的 MCP 服务器命令,或连接指定的 SSE、Streamable HTTP 端点
  • 需要监听配置的 HTTP 端口
  • 若使用 OAuth 2.1,可能需要浏览器授权、回调端口以及在文件存储模式下写入 ~/.mcpo/tokens/

风险与副作用

  • 暴露的 HTTP 服务应配置 API 密钥;README 将 API 密钥作为启动参数示例
  • 代理会把 MCP 工具暴露给能够访问该 HTTP 服务的调用方,因此端口和反向代理配置需要谨慎
  • OAuth 令牌可能存储在 ~/.mcpo/tokens/;应按部署环境保护该目录
  • 配置文件中的命令、端点和请求头会影响代理连接的目标与凭据

安装接入

准备工作

运行环境:Python 3.8+ · Docker

使用 uvx:uvx mcpo --port 8000 --api-key "top-secret" -- your_mcp_server_command。也可使用 pip install mcpo 后运行 mcpo,或使用 Docker 镜像 ghcr.io/open-webui/mcpo:main。启动后访问 http://localhost:8000/docs。多个服务器可通过 Claude Desktop 格式的配置文件运行:mcpo --config /path/to/config.json;需要时加上 --hot-reload。

验证是否装好

启动 uvx mcpo --port 8000 -- your_mcp_server_command 后,打开 http://localhost:8000/docs,若能看到自动生成的 OpenAPI 交互文档并能调用工具,说明代理已生效。

常见排障

  1. 确认 Python 版本为 3.8 或更高
  2. 确认 MCP 服务器命令可执行,且端口没有被占用
  3. SSE 连接使用 --server-type sse,并检查端点和请求头
  4. Streamable HTTP 连接使用 --server-type streamable-http,并检查端点
  5. 使用 /docs 或配置的 /<tool>/docs 路径检查生成的文档
  6. 若部署在子路径后,使用 --root-path 设置对应路径
  7. OAuth 连接失败时检查 server_url、回调端口和动态客户端注册支持

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 帮我通过 mcpo 启动 mcp-server-time,并确认它在 http://localhost:8000/docs 上生成了 OpenAPI 文档
  • 用 --config 指定 Claude Desktop 格式的配置文件,把 memory 和 time 两个 MCP 服务器一起代理出来
  • 把一个 SSE 类型的 MCP 服务器通过 mcpo 代理成 RESTful OpenAPI 接口,并加上 Authorization 请求头
  • 查看 http://localhost:8000/memory/docs 里的交互式 API 文档并测试一个工具调用

使用场景

将基于 stdio 的 MCP 工具暴露为标准 HTTP/OpenAPI 服务
为 OpenAPI 工具、SDK 和用户界面提供 MCP 工具
代理 SSE 或 Streamable HTTP MCP 服务器
为多个 MCP 工具提供独立路由和交互式文档

支持客户端

Open WebUI

依据项目文档列出,未经本站实测。

详细介绍

mcpo 是一个简单、安全的 MCP-to-OpenAPI 代理服务器。它接收 MCP 服务器命令或 SSE、Streamable HTTP 端点,并通过标准 RESTful HTTP 暴露工具,同时自动生成 OpenAPI 架构和交互式文档。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 63.3k · 工具数 2 与当前对比 →

源版本 788ff92e5288 数据同步于 2026-10-19 查看 FMRS 评分方法