⚡️ mcpo

⚡️ mcpo

site icon
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 快速启动 mcpo
  • pip install mcpo: 通过 Python 安装 mcpo
  • docker 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(可选,推荐用于性能和打包)

安装教程

  1. 通过 Python 安装: bash pip install mcpo
  2. 通过 Docker 运行: bash docker run -p 8000:8000 ghcr.io/open-webui/mcpo:main --api-key "top-secret" -- your_mcp_server_command
  3. 通过 uv 启动: bash uvx mcpo --port 8000 --api-key "top-secret" -- your_mcp_server_command

调试方式

  1. 启动 mcpo 后,访问 http://localhost:8000/docs 查看生成的 OpenAPI 文档。
  2. 使用配置文件管理多个 MCP 工具时,每个工具将有独立的访问路径和文档,例如 http://localhost:8000/memory/docs
  3. 运行测试: bash uv run pytest

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。