Skip to content

[Feature Request] 支持 OpenAPI/Swagger 导入功能 #4

Description

@minorcell

背景

当前 mcp-openapi 需要用户手动编写 JSON 配置来定义每个 API,配置门槛较高,用户体验不佳。

用户需要手动了解:

  • MCP 工具的参数格式
  • 如何定义 path/query/header 参数
  • 认证配置方式

这对于不熟悉 MCP 协议的用户来说使用成本较高。

什么是 OpenAPI

OpenAPI 规范(前身为 Swagger)是一种用于描述、生成、消费和可视化 RESTful API 的机器可读接口文件。

大多数现代 Web 框架都支持自动生成 OpenAPI 文档:

  • NestJS: @nestjs/swagger
  • Spring Boot: springdoc-openapi
  • Express: swagger-jsdoc
  • Django: drf-spectacular

用户只需要在项目中启用 OpenAPI 生成,即可通过访问 /api-docs 获取完整的 API 文档。

需求

添加 OpenAPI/Swagger 导入功能:

功能点

  1. 支持从 URL 导入 OpenAPI 文档(支持 JSON 和 YAML)
  2. 支持从本地文件导入
  3. 自动解析 paths 节点,转换为 MCP 工具
  4. 支持解析参数定义(path、query、header、body)
  5. 支持解析响应 schema

使用示例

从 URL 导入:

mcp-openapi --import https://api.example.com/openapi.json

从本地文件导入:

mcp-openapi --import ./openapi.json

HTTP 模式 + 导入:

mcp-openapi -t http -p 3000 --import ./openapi.json

收益

  • 大幅降低使用门槛,用户无需学习 MCP JSON 格式
  • 复用已有 OpenAPI 文档,实现零配置接入
  • 支持任意支持 OpenAPI 导出的框架
  • 融入 OpenAPI 生态

🤖 Created with Memo Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions