
⚡️ mcpo

2025.05.05
0
PythonOpenAPI 代理MCP 工具集成开发效率
mcpo 是一个简单的代理工具,能够将任何 MCP 工具转换为兼容 OpenAPI 的 HTTP 服务器,使其能够通过标准的 RESTful OpenAPI 进行访问。这样,您的工具可以无缝地与 LLM 代理和期望 OpenAPI 服务器的应用程序集成。mcpo 解决了原生 MCP 服务器在安全性、兼容性和功能上的不足,提供了更安全、稳定和可扩展的解决方案。
View on GitHub
Overview
基本能力
产品定位
mcpo 是一个代理工具,旨在将 MCP 工具转换为兼容 OpenAPI 的 HTTP 服务器,使其能够通过标准的 RESTful OpenAPI 进行访问。
核心功能
- 将 MCP 工具转换为 OpenAPI 兼容的 HTTP 服务器
- 自动生成交互式文档
- 支持多种 MCP 服务器类型(如 stdio 和 SSE)
- 提供安全性和稳定性增强
- 支持通过配置文件管理多个 MCP 工具
适用场景
- 需要将 MCP 工具集成到 LLM 代理或应用程序中
- 需要为 MCP 工具提供 OpenAPI 兼容的接口
- 需要增强 MCP 工具的安全性和稳定性
工具列表
uvx mcpo
: 使用 uv 快速启动 mcpopip install mcpo
: 通过 Python 安装 mcpodocker run -p 8000:8000 ghcr.io/open-webui/mcpo:main
: 通过 Docker 运行 mcpo
常见问题解答
- 为什么使用 mcpo 而不是原生 MCP?
- 原生 MCP 服务器通常通过 stdio 通信,存在安全性、兼容性和功能上的不足。mcpo 通过 OpenAPI 解决了这些问题。
- 如何启动 mcpo?
- 可以通过 uv、Python 或 Docker 启动 mcpo。
- 如何管理多个 MCP 工具?
- 可以通过配置文件管理多个 MCP 工具,每个工具将有独立的访问路径和 OpenAPI 文档。
使用教程
使用依赖
- Python 3.8+
- uv(可选,推荐用于性能和打包)
安装教程
- 通过 Python 安装:
bash pip install mcpo
- 通过 Docker 运行:
bash docker run -p 8000:8000 ghcr.io/open-webui/mcpo:main --api-key "top-secret" -- your_mcp_server_command
- 通过 uv 启动:
bash uvx mcpo --port 8000 --api-key "top-secret" -- your_mcp_server_command
调试方式
- 启动 mcpo 后,访问
http://localhost:8000/docs
查看生成的 OpenAPI 文档。 - 使用配置文件管理多个 MCP 工具时,每个工具将有独立的访问路径和文档,例如
http://localhost:8000/memory/docs
。 - 运行测试:
bash uv run pytest