使用说明
项目简介
mcpo (MCP OpenAPI Proxy) 是一个实用工具,旨在弥合 Model Context Protocol (MCP) 服务器和 OpenAPI 生态系统之间的差距。它作为一个代理服务器,将任何 MCP 工具以前端友好的 OpenAPI 形式暴露出来,使得开发者可以轻松地将原本基于 MCP 协议的工具集成到各种支持 OpenAPI 标准的 LLM 应用、工具和工作流中。mcpo 简化了集成过程,无需复杂的协议转换或额外的代码编写。
主要功能点
- OpenAPI 兼容性: 将 MCP 工具即时转换为标准的 OpenAPI 接口,使其能够与广泛的 OpenAPI 工具、SDK 和 UI 兼容。
- 自动文档生成: 为每个 MCP 工具自动生成交互式的 OpenAPI 文档(Swagger/Redoc),方便开发者理解和使用。
- 简化集成: 无需修改现有的 MCP 服务器或编写额外的胶水代码,即可将 MCP 工具接入 OpenAPI 环境。
- 安全性和稳定性: 基于成熟的 HTTP 协议,为 MCP 工具提供更安全、更稳定的访问方式。
- 多工具支持: 通过配置文件,可以同时代理多个 MCP 工具,并为每个工具生成独立的 OpenAPI 接口。
安装步骤
- 确保你的系统已安装 Python 3.8 或更高版本。
- 使用 pip 安装 mcpo:
推荐使用 'uv' 获得更快的安装和启动速度。pip install mcpo
服务器配置 (MCP 客户端配置)
MCP 客户端(如 LLM 应用)需要配置连接到 mcpo 代理服务器的 OpenAPI 端点,而不是直接连接到原始 MCP 服务器。你需要先启动 mcpo,并指定它需要代理的 MCP 服务器的启动命令。
单 MCP 服务器配置示例:
假设你有一个 MCP 服务器,其启动命令为 'uvx mcp-server-time --local-timezone=America/New_York',你可以使用以下命令启动 mcpo 代理:
mcpo --port 8000 -- uvx mcp-server-time --local-timezone=America/New_York
在这个例子中,mcpo 将在 'http://localhost:8000' 端口启动,并将所有发送到该端口的请求代理到 'uvx mcp-server-time --local-timezone=America/New_York' 这个 MCP 服务器。MCP 客户端应配置连接到 'http://localhost:8000'。
多 MCP 服务器配置示例:
你可以使用配置文件来管理和代理多个 MCP 服务器。创建一个名为 'config.json' 的文件(或其他你喜欢的名称),内容如下:
{ "mcpServers": { "memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] }, "time": { "command": "uvx", "args": ["mcp-server-time", "--local-timezone=America/New_York"] } } }
然后使用以下命令启动 mcpo 并指定配置文件路径:
mcpo --config /path/to/config.json
在这个配置下,mcpo 将会代理 "memory" 和 "time" 两个 MCP 服务器。它们将分别可以通过 'http://localhost:8000/memory' 和 'http://localhost:8000/time' 访问。
基本使用方法
- 根据上述配置示例启动 mcpo 代理服务器,确保指定了正确的 MCP 服务器启动命令或配置文件路径。
- 访问 mcpo 服务器的 OpenAPI 文档界面。对于单服务器配置,访问 'http://localhost:8000/docs';对于多服务器配置,访问 'http://localhost:8000/<tool_name>/docs' (例如 'http://localhost:8000/time/docs')。
- 在你的 LLM 应用或 OpenAPI 客户端中,配置连接到 mcpo 服务器的 URL (例如 'http://localhost:8000'),并使用生成的 OpenAPI schema 来调用 MCP 工具。MCP 工具会被暴露为 mcpo 服务器根路径下的 POST 端点 (例如 'http://localhost:8000/<tool_name>')。
信息
分类
网页与API