关于 🤖 OpenAPI MCP Server
OpenAPI MCP Server 是一款命令行工具,可根据 OpenAPI 规范生成 MCP 服务,并将请求代理到相应 REST API。它面向需要让现有 OpenAPI 服务供 MCP 客户端调用的开发者;项目仍处于早期开发阶段。
主要功能
- 01从 OpenAPI 规范生成 MCP 服务
- 02代理请求至 REST API
- 03转换 MCP 与 REST 请求形式
- 04配置规范文件、目标地址和端口
适用场景
- 01将现有 OpenAPI 服务接入 MCP 客户端
- 02通过 MCP 客户端调用 REST API
- 03在本地启动指定 API 的 MCP 服务
MCP 相关
它根据 OpenAPI 规范生成 MCP 服务,并将 MCP 客户端的请求转发至目标 REST API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🤖 OpenAPI MCP Server
一个命令行工具,可将任意 OpenAPI 服务转换为 Model Context Protocol (MCP) 服务,从而与支持 MCP 规范的 AI Agent 和工具无缝集成。
说明
此工具仍处于早期开发阶段。 路线图见此处
什么是 Model Context Protocol (MCP)?
Model Context Protocol (MCP) 是一种标准化协议,供 AI Agent 与外部工具和服务交互。它为 AI 模型通过统一接口发现、理解和使用各种功能提供了一致的方式,让构建能够与多个服务交互的 AI 应用变得更加容易。
什么是 OpenAPI?
OpenAPI(前身为 Swagger)是一种规范,用于描述、生成、使用和可视化 RESTful Web 服务的机器可读接口文件。借助它,用户和计算机无需访问源代码或其他文档,即可发现并了解服务的功能。
关于本项目
此中间件充当 OpenAPI 服务与 MCP 客户端之间的桥梁。它会:
- 将 OpenAPI 规范文件作为输入
- 自动生成符合 MCP 规范的服务
- 将传入的请求代理到实际的 OpenAPI 服务
- 在 MCP 和 REST 约定之间进行转换
这样,任何带有 OpenAPI 规范的现有 REST API 都能立即供理解 MCP 的 AI Agent 使用,而无需对原服务进行任何修改。
安装
npm install -g openapi-mcp-proxy
使用方法
npx openapi-mcp-proxy --spec ./path/to/openapi.yml --target http://your-api.com --port 3000
选项
-s, --spec <path>(必需):OpenAPI 规范文件的路径(环境变量:OMP_OPENAPI_SPEC_FILE)-t, --target <url>(可选):API 服务的目标 URL(默认值:"http://localhost:8080",环境变量:`OMP_TARGET_BASE_URL`)-p, --port <number>(可选):运行 MCP 服务的端口(默认值:"3000",环境变量:PORT)-V, --version:显示版本号-h, --help:显示命令帮助
示例
为 Petstore API 启动 MCP 服务
npx openapi-mcp-proxy --spec resources/petstore.openapi.yml --target https://petstore.swagger.io/v2
测试
MCP Inspector
要测试 MCP 服务,可以使用 Model Context Protocol:
- 安装 MCP Inspector:
npx @modelcontextprotocol/inspector
- 启动 MCP 服务
- 前往 Inspector 的 UI,填写正确的服务路径,以
/mcp结尾,例如http://localhost:3000/mcp - 现在可以与 MCP 服务交互了。MCP Inspector 会显示请求和响应的详细信息。
使用 VS Code
使用 VS Code 内置的 Agent 模式会更方便:
- 打开 VS Code 并启用 Agent 模式:
- 按
Cmd/Ctrl + Shift + P - 输入 "Toggle GitHub Copilot Agent Mode"
- 选择 "Enable"
- 按
- 添加 MCP 服务:
- 按
Cmd/Ctrl + Shift + P - 输入 "MCP: add Server"
- 输入 MCP 服务 URL,例如
http://localhost:3000/mcp,以/mcp结尾
- 按
- 你的 github copilot chat 应该就能识别新工具了!
- 现在可以通过 VS Code 的 Agent 界面与 MCP 服务交互。试着问它“现在有多少只宠物可用?”
有关如何在 VS code 中使用 MCP 服务的更多信息,请参阅此处
贡献
欢迎贡献!请随时提交 Pull Request。 路线图见此处
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。