OpenAPI转MCP服务工具

一个将OpenAPI服务转换为模型上下文协议(MCP)服务器的命令行工具,实现与支持MCP规范的AI代理和工具的无缝集成。

  • by JacerOmri
  • TypeScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 JacerOmri/openapi-mcp-proxy

使用说明

🤖 OpenAPI MCP服务器

一个命令行工具,可以将任何OpenAPI服务转换为模型上下文协议(MCP)服务器,实现与支持MCP规范的AI代理和工具的无缝集成。

[!注意] 该工具仍处于早期开发阶段。 路线图 在这里

什么是模型上下文协议(MCP)?

模型上下文协议(MCP)是AI代理与外部工具和服务交互的标准化协议。它为人工智能模型提供了一种一致的方式,通过统一的界面发现、理解和利用各种功能,从而更容易构建可以与多种服务交互的人工智能驱动的应用程序。

什么是OpenAPI?

OpenAPI(以前称为Swagger)是用于描述、生成、使用和可视化RESTful web服务的机器可读接口文件的规范。它允许人类和计算机发现和理解服务的功能,而无需访问源代码或其他文档。

关于本项目

该中间件充当OpenAPI服务和MCP客户端之间的桥梁。它

  1. 将OpenAPI规范文件作为输入
  2. 自动生成符合MCP的服务器
  3. 将传入请求代理到实际的OpenAPI服务
  4. 在MCP和REST约定之间进行转换

这使得任何具有OpenAPI规范的现有REST API都可以立即被理解MCP的AI代理访问,而无需对原始服务进行任何修改。

安装

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规范文件的路径(env: 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检查员

要测试您的MCP服务器,您可以使用模型上下文协议:

  1. 安装MCP检查器:
npx @modelcontextprotocol/inspector
  1. 启动MCP服务器
  2. 导航到检查器的UI并填写正确的服务器路径 结束于 /mcp 喜欢 http://localhost:3000/mcp
  3. 现在,您可以与MCP服务器进行交互。MCP检查器将向您显示有关请求和响应的详细信息。

使用VS代码

使用VS Code的内置代理模式更容易:

  1. 打开VS Code并启用代理模式:
    • 按 Cmd/Ctrl + Shift + P
    • 键入“切换GitHub Copilot代理模式”
    • 选择“启用”
  2. 添加您的MCP服务器:
    • 按 Cmd/Ctrl + Shift + P
    • 键入“MCP:添加服务器”
    • 键入您的MCP服务器URL,如下所示 http://localhost:3000/mcp 结束于 /mcp
  3. 你的github副驾驶聊天应该会使用它的新工具!
  4. 现在,您可以通过VS Code的代理接口与MCP服务器进行交互。试着问它“现在有多少宠物?”

有关如何使用带有VS代码的MCP服务器的更多信息, 看这个

贡献

欢迎投稿!请随时提交拉取请求。 路线图 在这里

许可证

麻省理工学院