
Swagger MCP 服务器

2025.03.20
10
TypeScriptAPI文档解析代码生成开发效率
Swagger MCP 服务器是一个基于Model Context Protocol (MCP)的服务器,主要用于解析Swagger/OpenAPI文档并生成TypeScript类型和API客户端代码。它支持v2和v3规范,能够生成不同框架的API客户端代码(如Axios、Fetch、React Query等),并通过MCP协议提供这些功能,便于与大型语言模型集成。
View on GitHub
Overview
基本能力
产品定位
Swagger MCP 服务器是一个专门用于解析Swagger/OpenAPI文档并生成TypeScript类型和API客户端代码的工具,旨在提高开发效率,简化API文档的处理和代码生成过程。
核心功能
- 解析Swagger/OpenAPI文档,支持v2和v3规范
- 生成TypeScript类型定义
- 生成不同框架的API客户端代码(Axios、Fetch、React Query等)
- 通过MCP协议提供这些功能,便于与大型语言模型集成
- 优化的大型文档处理:
- 内存和文件系统缓存机制
- 懒加载解析策略
- 增量解析与部分结果返回
- 进度反馈
- 自动识别不同格式的Swagger UI URLs
适用场景
- 需要从Swagger/OpenAPI文档生成TypeScript类型的开发项目
- 需要为不同框架(如Axios、Fetch、React Query)生成API客户端的项目
- 处理大型API文档时,需要优化解析和生成过程的场景
工具列表及能力
- Swagger/OpenAPI解析工具
parse-swagger
: 标准解析工具,返回API操作信息parse-swagger-optimized
: 优化解析工具,适用于完整解析,带有高级选项-
parse-swagger-lite
: 轻量级解析工具,专为大型文档优化 -
TypeScript类型生成工具
generate-typescript-types
: 标准类型生成器-
generate-typescript-types-optimized
: 优化类型生成器 -
API客户端生成工具
generate-api-client
: 标准API客户端生成器-
generate-api-client-optimized
: 优化API客户端生成器 -
文件写入工具
file-writer
: 将内容写入文件系统
常见问题解答
-
如何处理大型API文档? 推荐使用优化版工具,启用缓存和懒加载,使用标签或路径前缀过滤,只获取需要的API操作,仅在必要时包含模式定义,并设置合理的缓存有效期。
-
如何清除缓存? API文档缓存存储在
.api-cache
目录中。可以删除该目录或设置useCache: false
参数。
使用教程
使用依赖
npm install
# 或者使用pnpm
pnpm install
安装教程
# 通过Smithery安装
npx -y @smithery/cli install @tuskermanshu/swagger-mcp-server --client claude
启动服务器
node start-server.js
调试方式
启动调试服务器:
node start-server.js
然后使用MCP Inspector连接:
npx @modelcontextprotocol/inspector pipe -- node start-server.js
或者直接方式(但可能导致输出混乱):
npx @modelcontextprotocol/inspector -- node start-server.js
许可证
None