SuperAPI AI 工具集

openapi-to-mcp

编程与开发

查看项目

更新于 10-16 00:22

技能介绍

用途:把已有的 REST API(由 OpenAPI 3.x 或 Swagger 2.0 文档描述)转成 MCP 服务器,规范中每个 operation 变成一个 LLM 可调用的 MCP 工具。核心原则是规范即契约:工具名、描述、参数结构与认证要求都来自规范,不自行编造;Zod schema 镜像 OpenAPI schema;密钥走环境变量而非规范。

主要流程:先用 AskUserQuestion 确认五项——规范来源(文件、URL 或粘贴)、服务器 base URL、认证方案及对应环境变量、要暴露的操作范围(全部、某 tag 或手选)、是否需要 chat 内 widget(默认 tools-only,需要 widget 用 mcp-apps 模板)。随后用 swagger-parser 对规范去引用(Swagger 2.0 先经 swagger2openapi 转换),用 npx create-mcp-use-app@latest <project-name> --template blank 脚手架(有 widget 用 mcp-apps),再安装 @apidevtools/swagger-parser 与 dotenv。项目结构含 index.ts、client.ts、auth.ts、operations.ts、schema.ts 等。按映射规则生成工具,Zod 转换覆盖 enum、number、array、object、oneOf/anyOf、nullable 等,并对字段加 .describe()。client 负责路径/查询参数替换、认证头、请求体序列化与错误抛出。index.ts 用 streamable HTTP(server.listen(port)),不支持 stdio。

测试:先 npm run dev,再用 mcp-use client CLI(connect/tools list/tools call/interactive)做第一层验证,再用 /mcp/inspector 的 chat 验证 LLM 能否正确选工具与填参,并测试缺参、认证失败、上游 5xx 等失败路径。

部署:经用户确认后,npx mcp-use login 与 npm run deploy 发布到 mcp-use 云,需 GitHub 仓库,部署后在控制台设置相同环境变量;否则保留本地。限制:当前仅支持 streamable HTTP;具体收费、价格、平台限制等资料未提供。