- 🚀 快速解析 - 秒级解析大型 Swagger/OpenAPI 文档
- 📝 中文提示 - 生成完整的中文 API 文档提示词
- 🔗 引用解析 - 自动解析所有
$ref引用 - 🌍 路径前缀 - 自动识别并添加
servers[0].url路径前缀 - 📦 双重模式 - 支持 MCP 服务器和独立 CLI 工具
- 🎯 智能提示 - 生成适合 AI 模型的 JSON Schema 格式
- 🔐 认证支持 - 支持 Bearer Token 和基本认证(用户名/密码)
- 💾 本地下载 - 一键下载 Swagger JSON 到本地文件
pnpm add -g swagger-prompts-mcp
npm install -g swagger-prompts-mcppnpm add swagger-prompts-mcp
npm install swagger-prompts-mcp# 基础用法
swagger-prompts parse-endpoint \
-u https://petstore.swagger.io/v2/swagger.json \
-p /pet/{petId} \
-m get
# 带认证
swagger-prompts parse-endpoint \
-u https://api.example.com/swagger.json \
-p /users \
-m get \
-h "Authorization=Bearer token"
# 保存到文件
swagger-prompts parse-endpoint \
-u https://petstore.swagger.io/v2/swagger.json \
-p /pet \
-m post \
-o pet-api.mdswagger-prompts parse-schema \
-u https://petstore.swagger.io/v2/swagger.json \
-s Pet# 基础下载(自动生成文件名)
swagger-prompts download \
-u https://petstore.swagger.io/v2/swagger.json
# 指定保存路径
swagger-prompts download \
-u https://petstore.swagger.io/v2/swagger.json \
-o ./api-docs.json
# 带认证下载
swagger-prompts download \
-u https://api.example.com/swagger.json \
--username admin \
--password secret123 \
-o ./private-api.json编辑 MCP 客户端配置文件:
{
"mcpServers": {
"swagger-prompts": {
"command": "node",
"args": ["/path/to/swagger-prompts-mcp/dist/index.js"]
}
}
}解析 https://petstore.swagger.io/v2/swagger.json 中的 GET /pet/{petId} 接口
解析 https://petstore.swagger.io/v2/swagger.json 中的 Pet Schema
下载 https://petstore.swagger.io/v2/swagger.json 到本地文件
swagger-prompts parse-endpoint [options]
选项:
-u, --url <url> Swagger/OpenAPI 文档 URL(必需)
-p, --path <path> API 接口路径(必需)
-m, --method <method> HTTP 方法:get|post|put|patch|delete|head|options(必需)
-o, --output <file> 输出文件路径(可选,默认输出到控制台)
-h, --header <header...> 自定义请求头,格式:Key=Value(可选)
-t, --timeout <ms> 请求超时时间,毫秒(默认:30000)swagger-prompts parse-schema [options]
选项:
-u, --url <url> Swagger/OpenAPI 文档 URL(必需)
-s, --schema <name> Schema 名称(必需)
-o, --output <file> 输出文件路径(可选)
-h, --header <header...> 自定义请求头(可选)
-t, --timeout <ms> 请求超时时间,毫秒(默认:30000)swagger-prompts download [options]
选项:
-u, --url <url> Swagger/OpenAPI 文档 URL(必需)
-o, --output <file> 保存文件路径(可选,不提供则自动生成)
--username <username> 认证用户名(可选)
--password <password> 认证密码(可选)
-h, --header <header...> 自定义请求头(可选)
-t, --timeout <ms> 请求超时时间,毫秒(默认:30000)工具会自动处理路径前缀:
- OpenAPI 3.0 - 从
servers[0].url提取路径前缀 - Swagger 2.0 - 从
basePath提取路径前缀
例如:
servers[0].url:http://test.com/api/v1- 用户请求路径:
/users - 生成路径:
/api/v1/users
{
"name": "parseApiEndpoint",
"arguments": {
"url": "https://petstore.swagger.io/v2/swagger.json",
"path": "/pet/{petId}",
"method": "get",
"headers": {
"Authorization": "Bearer token"
}
}
}{
"name": "parseSchema",
"arguments": {
"url": "https://petstore.swagger.io/v2/swagger.json",
"schemaName": "Pet"
}
}{
"name": "downloadSwaggerJson",
"arguments": {
"url": "https://petstore.swagger.io/v2/swagger.json",
"savePath": "./api-docs.json"
}
}{
"name": "downloadSwaggerJson",
"arguments": {
"url": "https://api.example.com/swagger.json",
"username": "admin",
"password": "secret123",
"savePath": "./private-api.json"
}
}# 获取宠物信息接口
swagger-prompts parse-endpoint \
-u https://petstore.swagger.io/v2/swagger.json \
-p /pet/{petId} \
-m get
# 添加新宠物接口
swagger-prompts parse-endpoint \
-u https://petstore.swagger.io/v2/swagger.json \
-p /pet \
-m post \
-o add-pet.md# 使用 API Key
swagger-prompts parse-endpoint \
-u https://api.example.com/v1/swagger.json \
-p /protected/data \
-m get \
-h "X-API-Key=your-api-key"
# 使用 Bearer Token
swagger-prompts parse-endpoint \
-u https://api.example.com/v1/swagger.json \
-p /user/profile \
-m get \
-h "Authorization=Bearer your-token"#!/bin/bash
# 批量解析多个接口
URL="https://api.example.com/swagger.json"
# 解析多个接口
swagger-prompts parse-endpoint -u $URL -p /users -m get -o users-get.md
swagger-prompts parse-endpoint -u $URL -p /users -m post -o users-post.md
swagger-prompts parse-endpoint -u $URL -p /users/{id} -m get -o users-get-by-id.md
# 解析常用 Schema
swagger-prompts parse-schema -u $URL -s User -o user-schema.md
swagger-prompts parse-schema -u $URL -s Error -o error-schema.md- Node.js >= 18
- pnpm >= 10
# 克隆仓库
git clone git@github.com:SublimeCT/swagger-prompts-mcp.git
cd swagger-prompts-mcp
# 安装依赖
pnpm install
# 开发模式
pnpm dev
# 构建
pnpm build
# 测试
pnpm test
# 代码格式化
pnpm lintsrc/
├── index.ts # MCP 服务器入口
├── cli.ts # CLI 工具入口
├── core/ # 核心模块
│ ├── api-parser.ts # API 解析器
│ └── prompt-generator.ts # 提示词生成器
├── types/ # 类型定义
│ ├── api.ts # API 相关类型
│ ├── openapi.ts # OpenAPI 类型
│ ├── prompt.ts # 提示词类型
│ ├── swagger.ts # Swagger 类型
│ └── index.ts # 类型导出
└── utils/ # 工具函数
├── downloadSwagger.ts # 下载 Swagger JSON
├── fetchSwagger.ts # 获取文档
├── parseApiEndpoints.ts # 解析 API 接口
├── parseOpenApiEndpoints.ts # 解析 OpenAPI 接口
├── parseSchema.ts # 解析 Schema
└── schema-utils.ts # Schema 工具
欢迎贡献代码!请查看 贡献指南 了解详情。
本项目采用 MIT 许可证。
- FastMCP - MCP 服务器框架
- json-schema-ref-parser - JSON Schema 引用解析
- Commander.js - CLI 框架