Swagger MCP Server

Swagger MCP Server

一个基于模型上下文协议的服务器,用于解析 Swagger/OpenAPI 文档,并为不同的框架(Axios、Fetch、React Query)生成 TypeScript 类型和 API 客户端代码。

Category
访问服务器

README

Swagger MCP 服务器

smithery badge

一个基于Model Context Protocol (MCP)的服务器,用于解析Swagger/OpenAPI文档并生成TypeScript类型和API客户端代码。

功能特点

  • 解析Swagger/OpenAPI文档,支持v2和v3规范
  • 生成TypeScript类型定义
  • 生成不同框架的API客户端代码(Axios、Fetch、React Query等)
  • 通过MCP协议提供这些功能,便于与大型语言模型集成
  • 优化的大型文档处理
    • 内存和文件系统缓存机制
    • 懒加载解析策略
    • 增量解析与部分结果返回
    • 进度反馈
    • 自动识别不同格式的Swagger UI URLs

快速开始

安装依赖

npm install
# 或者使用pnpm
pnpm install

启动服务器

node start-server.js

服务器默认使用标准输入/输出通信。

使用MCP工具

可以通过标准输入/输出与MCP服务器通信。以下是一些示例:

# 解析Swagger文档
node examples/optimized-swagger-parser-example.js

# 生成TypeScript类型
node examples/typescript-generator-example.js

# 生成API客户端
node examples/api-client-generator-example.js

可用工具

1. Swagger/OpenAPI解析工具

标准解析工具 (parse-swagger)

{
  "method": "parse-swagger",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": true,
    "includeDetails": true
  }
}

优化解析工具 (parse-swagger-optimized)

适用于完整解析,带有高级选项:

{
  "method": "parse-swagger-optimized",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": true,
    "includeDetails": true,
    "useCache": true,
    "skipValidation": true,
    "cacheTTLMinutes": 60,
    "lazyLoading": false,
    "filterTag": "pet"
  }
}

轻量级解析工具 (parse-swagger-lite)

为大型文档优化,快速但只返回基本信息:

{
  "method": "parse-swagger-lite",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": false,
    "includeDetails": false,
    "useCache": true,
    "skipValidation": true
  }
}

2. TypeScript类型生成工具

标准类型生成器 (generate-typescript-types)

{
  "method": "generate-typescript-types",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/types",
    "namespace": "PetStore",
    "strictTypes": true,
    "generateEnums": true,
    "generateIndex": true
  }
}

优化类型生成器 (generate-typescript-types-optimized)

{
  "method": "generate-typescript-types-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/types",
    "namespace": "PetStore",
    "strictTypes": true,
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "includeSchemas": ["Pet", "Order", "User"]
  }
}

3. API客户端生成工具

标准API客户端生成器 (generate-api-client)

{
  "method": "generate-api-client",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/api",
    "clientType": "axios",
    "generateTypeImports": true,
    "typesImportPath": "../types",
    "groupBy": "tag"
  }
}

优化API客户端生成器 (generate-api-client-optimized)

{
  "method": "generate-api-client-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/api",
    "clientType": "react-query",
    "generateTypeImports": true,
    "typesImportPath": "../types",
    "groupBy": "tag",
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "includeTags": ["pet", "store"]
  }
}

4. 文件写入工具

{
  "method": "file-writer",
  "params": {
    "filePath": "./output.txt",
    "content": "Hello, world!",
    "createDirs": true
  }
}

处理大型API文档

对于大型API文档,推荐使用以下配置:

  1. 使用优化版工具,启用缓存和懒加载
  2. 使用标签或路径前缀过滤,只获取需要的API操作
  3. 仅在必要时包含模式定义
  4. 设置合理的缓存有效期,避免频繁重新解析

示例:

{
  "method": "parse-swagger-lite",
  "params": {
    "url": "https://your-large-api-doc-url.json",
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "filterTag": "your-specific-tag",
    "includeSchemas": false
  }
}

支持的客户端框架

目前支持以下API客户端框架:

  • Axios: 功能全面的Promise基HTTP客户端
  • Fetch: 浏览器原生API,无需额外依赖
  • React Query: 用于React应用的数据获取和缓存库,提供hooks和缓存功能

示例 - 生成React Query客户端:

{
  "method": "generate-api-client-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/react-query",
    "clientType": "react-query",
    "generateTypeImports": true
  }
}

缓存管理

API文档缓存存储在 .api-cache 目录中。如果需要清除缓存:

  1. 删除 .api-cache 目录
  2. 或者设置 useCache: false 参数

配置选项

可在 swagger-mcp-config.json 中自定义服务器设置:

{
  "name": "Swagger MCP Server",
  "version": "1.0.0",
  "transport": "stdio"
}

开发与调试

启动调试服务器:

node start-server.js

然后使用MCP Inspector连接:

npx @modelcontextprotocol/inspector pipe -- node start-server.js

或者直接方式(但可能导致输出混乱):

npx @modelcontextprotocol/inspector -- node start-server.js

项目路线图

参见 road.md 文件了解开发计划和进度。

安装

通过Smithery安装

要通过Smithery为Claude Desktop自动安装swagger-mcp-server:

npx -y @smithery/cli install @tuskermanshu/swagger-mcp-server --client claude

构建

# 构建项目
npm run build

# 或使用pnpm
pnpm build

可用的MCP工具

  1. parse-swagger - 解析Swagger/OpenAPI文档,返回API操作信息
  2. parse-swagger-optimized - 解析Swagger/OpenAPI文档(优化版)
  3. parse-swagger-lite - 轻量级解析Swagger/OpenAPI文档,专为大型文档优化
  4. generate-typescript-types - 从Swagger/OpenAPI文档生成TypeScript类型定义
  5. generate-typescript-types-optimized - 从Swagger/OpenAPI文档生成TypeScript类型定义(优化版)
  6. generate-api-client - 从Swagger/OpenAPI文档生成API客户端代码
  7. generate-api-client-optimized - 从Swagger/OpenAPI文档生成API客户端代码(优化版)
  8. file-writer - 将内容写入文件系统

# Swagger MCP 服务器

[![smithery badge](https://smithery.ai/badge/@tuskermanshu/swagger-mcp-server)](https://smithery.ai/server/@tuskermanshu/swagger-mcp-server)

一个基于Model Context Protocol (MCP)的服务器,用于解析Swagger/OpenAPI文档并生成TypeScript类型和API客户端代码。

## 功能特点

- 解析Swagger/OpenAPI文档,支持v2和v3规范
- 生成TypeScript类型定义
- 生成不同框架的API客户端代码(Axios、Fetch、React Query等)
- 通过MCP协议提供这些功能,便于与大型语言模型集成
- **优化的大型文档处理**:
  - 内存和文件系统缓存机制
  - 懒加载解析策略
  - 增量解析与部分结果返回
  - 进度反馈
  - 自动识别不同格式的Swagger UI URLs

## 快速开始

### 安装依赖

```bash
npm install
# 或者使用pnpm
pnpm install

启动服务器

node start-server.js

服务器默认使用标准输入/输出通信。

使用MCP工具

可以通过标准输入/输出与MCP服务器通信。以下是一些示例:

# 解析Swagger文档
node examples/optimized-swagger-parser-example.js

# 生成TypeScript类型
node examples/typescript-generator-example.js

# 生成API客户端
node examples/api-client-generator-example.js

可用工具

1. Swagger/OpenAPI解析工具

标准解析工具 (parse-swagger)

{
  "method": "parse-swagger",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": true,
    "includeDetails": true
  }
}

优化解析工具 (parse-swagger-optimized)

适用于完整解析,带有高级选项:

{
  "method": "parse-swagger-optimized",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": true,
    "includeDetails": true,
    "useCache": true,
    "skipValidation": true,
    "cacheTTLMinutes": 60,
    "lazyLoading": false,
    "filterTag": "pet"
  }
}

轻量级解析工具 (parse-swagger-lite)

为大型文档优化,快速但只返回基本信息:

{
  "method": "parse-swagger-lite",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": false,
    "includeDetails": false,
    "useCache": true,
    "skipValidation": true
  }
}

2. TypeScript类型生成工具

标准类型生成器 (generate-typescript-types)

{
  "method": "generate-typescript-types",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/types",
    "namespace": "PetStore",
    "strictTypes": true,
    "generateEnums": true,
    "generateIndex": true
  }
}

优化类型生成器 (generate-typescript-types-optimized)

{
  "method": "generate-typescript-types-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/types",
    "namespace": "PetStore",
    "strictTypes": true,
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "includeSchemas": ["Pet", "Order", "User"]
  }
}

3. API客户端生成工具

标准API客户端生成器 (generate-api-client)

{
  "method": "generate-api-client",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/api",
    "clientType": "axios",
    "generateTypeImports": true,
    "typesImportPath": "../types",
    "groupBy": "tag"
  }
}

优化API客户端生成器 (generate-api-client-optimized)

{
  "method": "generate-api-client-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/api",
    "clientType": "react-query",
    "generateTypeImports": true,
    "typesImportPath": "../types",
    "groupBy": "tag",
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "includeTags": ["pet", "store"]
  }
}

4. 文件写入工具

{
  "method": "file-writer",
  "params": {
    "filePath": "./output.txt",
    "content": "Hello, world!",
    "createDirs": true
  }
}

处理大型API文档

对于大型API文档,推荐使用以下配置:

  1. 使用优化版工具,启用缓存和懒加载
  2. 使用标签或路径前缀过滤,只获取需要的API操作
  3. 仅在必要时包含模式定义
  4. 设置合理的缓存有效期,避免频繁重新解析

示例:

{
  "method": "parse-swagger-lite",
  "params": {
    "url": "https://your-large-api-doc-url.json",
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "filterTag": "your-specific-tag",
    "includeSchemas": false
  }
}

支持的客户端框架

目前支持以下API客户端框架:

  • Axios: 功能全面的Promise基HTTP客户端
  • Fetch: 浏览器原生API,无需额外依赖
  • React Query: 用于React应用的数据获取和缓存库,提供hooks和缓存功能

示例 - 生成React Query客户端:

{
  "method": "generate-api-client-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/react-query",
    "clientType": "react-query",
    "generateTypeImports": true
  }
}

缓存管理

API文档缓存存储在 .api-cache 目录中。如果需要清除缓存:

  1. 删除 .api-cache 目录
  2. 或者设置 useCache: false 参数

配置选项

可在 swagger-mcp-config.json 中自定义服务器设置:

{
  "name": "Swagger MCP Server",
  "version": "1.0.0",
  "transport": "stdio"
}

开发与调试

启动调试服务器:

node start-server.js

然后使用MCP Inspector连接:

npx @modelcontextprotocol/inspector pipe -- node start-server.js

或者直接方式(但可能导致输出混乱):

npx @modelcontextprotocol/inspector -- node start-server.js

项目路线图

参见 road.md 文件了解开发计划和进度。

安装

通过Smithery安装

要通过Smithery为Claude Desktop自动安装swagger-mcp-server:

npx -y @smithery/cli install @tuskermanshu/swagger-mcp-server --client claude

构建

# 构建项目
npm run build

# 或使用pnpm
pnpm build

可用的MCP工具

  1. parse-swagger - 解析Swagger/OpenAPI文档,返回API操作信息
  2. parse-swagger-optimized - 解析Swagger/OpenAPI文档(优化版)
  3. parse-swagger-lite - 轻量级解析Swagger/OpenAPI文档,专为大型文档优化
  4. generate-typescript-types - 从Swagger/OpenAPI文档生成TypeScript类型定义
  5. generate-typescript-types-optimized - 从Swagger/OpenAPI文档生成TypeScript类型定义(优化版)
  6. generate-api-client - 从Swagger/OpenAPI文档生成API客户端代码
  7. generate-api-client-optimized - 从Swagger/OpenAPI文档生成API客户端代码(优化版)
  8. file-writer - 将内容写入文件系统

Swagger MCP 服务器

smithery badge

一个基于 Model Context Protocol (MCP) 的服务器,用于解析 Swagger/OpenAPI 文档并生成 TypeScript 类型和 API 客户端代码。

功能特点

  • 解析 Swagger/OpenAPI 文档,支持 v2 和 v3 规范
  • 生成 TypeScript 类型定义
  • 生成不同框架的 API 客户端代码(Axios、Fetch、React Query 等)
  • 通过 MCP 协议提供这些功能,便于与大型语言模型集成
  • 优化的大型文档处理
    • 内存和文件系统缓存机制
    • 懒加载解析策略
    • 增量解析与部分结果返回
    • 进度反馈
    • 自动识别不同格式的 Swagger UI URLs

快速开始

安装依赖

npm install
# 或者使用pnpm
pnpm install

启动服务器

node start-server.js

服务器默认使用标准输入/输出通信。

使用 MCP 工具

可以通过标准输入/输出与 MCP 服务器通信。以下是一些示例:

# 解析 Swagger 文档
node examples/optimized-swagger-parser-example.js

# 生成 TypeScript 类型
node examples/typescript-generator-example.js

# 生成 API 客户端
node examples/api-client-generator-example.js

可用工具

1. Swagger/OpenAPI 解析工具

标准解析工具 (parse-swagger)

{
  "method": "parse-swagger",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": true,
    "includeDetails": true
  }
}

优化解析工具 (parse-swagger-optimized)

适用于完整解析,带有高级选项:

{
  "method": "parse-swagger-optimized",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": true,
    "includeDetails": true,
    "useCache": true,
    "skipValidation": true,
    "cacheTTLMinutes": 60,
    "lazyLoading": false,
    "filterTag": "pet"
  }
}

轻量级解析工具 (parse-swagger-lite)

为大型文档优化,快速但只返回基本信息:

{
  "method": "parse-swagger-lite",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": false,
    "includeDetails": false,
    "useCache": true,
    "skipValidation": true
  }
}

2. TypeScript 类型生成工具

标准类型生成器 (generate-typescript-types)

{
  "method": "generate-typescript-types",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/types",
    "namespace": "PetStore",
    "strictTypes": true,
    "generateEnums": true,
    "generateIndex": true
  }
}

优化类型生成器 (generate-typescript-types-optimized)

{
  "method": "generate-typescript-types-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/types",
    "namespace": "PetStore",
    "strictTypes": true,
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "includeSchemas": ["Pet", "Order", "User"]
  }
}

3. API 客户端生成工具

标准 API 客户端生成器 (generate-api-client)

{
  "method": "generate-api-client",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/api",
    "clientType": "axios",
    "generateTypeImports": true,
    "typesImportPath": "../types",
    "groupBy": "tag"
  }
}

优化 API 客户端生成器 (generate-api-client-optimized)

{
  "method": "generate-api-client-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/api",
    "clientType": "react-query",
    "generateTypeImports": true,
    "typesImportPath": "../types",
    "groupBy": "tag",
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "includeTags": ["pet", "store"]
  }
}

4. 文件写入工具

{
  "method": "file-writer",
  "params": {
    "filePath": "./output.txt",
    "content": "Hello, world!",
    "createDirs": true
  }
}

处理大型 API 文档

对于大型 API 文档,推荐使用以下配置:

  1. 使用优化版工具,启用缓存和懒加载
  2. 使用标签或路径前缀过滤,只获取需要的 API 操作
  3. 仅在必要时包含模式定义
  4. 设置合理的缓存有效期,避免频繁重新解析

示例:

{
  "method": "parse-swagger-lite",
  "params": {
    "url": "https://your-large-api-doc-url.json",
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "filterTag": "your-specific-tag",
    "includeSchemas": false
  }
}

支持的客户端框架

目前支持以下 API 客户端框架:

  • Axios: 功能全面的 Promise 基 HTTP 客户端
  • Fetch: 浏览器原生 API,无需额外依赖
  • React Query: 用于 React 应用的数据获取和缓存库,提供 hooks 和缓存功能

示例 - 生成 React Query 客户端:

{
  "method": "generate-api-client-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/react-query",
    "clientType": "react-query",
    "generateTypeImports": true
  }
}

缓存管理

API 文档缓存存储在 .api-cache 目录中。如果需要清除缓存:

  1. 删除 .api-cache 目录
  2. 或者设置 useCache: false 参数

配置选项

可在 swagger-mcp-config.json 中自定义服务器设置:

{
  "name": "Swagger MCP Server",
  "version": "1.0.0",
  "transport": "stdio"
}

开发与调试

启动调试服务器:

node start-server.js

然后使用 MCP Inspector 连接:

npx @modelcontextprotocol/inspector pipe -- node start-server.js

或者直接方式(但可能导致输出混乱):

npx @modelcontextprotocol/inspector -- node start-server.js

项目路线图

参见 road.md 文件了解开发计划和进度。

安装

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 swagger-mcp-server:

npx -y @smithery/cli install @tuskermanshu/swagger-mcp-server --client claude

构建

# 构建项目
npm run build

# 或使用pnpm
pnpm build

可用的 MCP 工具

  1. parse-swagger - 解析 Swagger/OpenAPI 文档,返回 API 操作信息
  2. parse-swagger-optimized - 解析 Swagger/OpenAPI 文档(优化版)
  3. parse-swagger-lite - 轻量级解析 Swagger/OpenAPI 文档,专为大型文档优化
  4. generate-typescript-types - 从 Swagger/OpenAPI 文档生成 TypeScript 类型定义
  5. generate-typescript-types-optimized - 从 Swagger/OpenAPI 文档生成 TypeScript 类型定义(优化版)
  6. generate-api-client - 从 Swagger/OpenAPI 文档生成 API 客户端代码
  7. generate-api-client-optimized - 从 Swagger/OpenAPI 文档生成 API 客户端代码(优化版)
  8. file-writer - 将内容写入文件系统

Swagger MCP 服务器

smithery badge

一个基于 Model Context Protocol (MCP) 的服务器,用于解析 Swagger/OpenAPI 文档并生成 TypeScript 类型和 API 客户端代码。

功能特点

  • 解析 Swagger/OpenAPI 文档,支持 v2 和 v3 规范
  • 生成 TypeScript 类型定义
  • 生成不同框架的 API 客户端代码(Axios、Fetch、React Query 等)
  • 通过 MCP 协议提供这些功能,便于与大型语言模型集成
  • 优化的大型文档处理
    • 内存和文件系统缓存机制
    • 懒加载解析策略
    • 增量解析与部分结果返回
    • 进度反馈
    • 自动识别不同格式的 Swagger UI URLs

快速开始

安装依赖

npm install
# 或者使用pnpm
pnpm install

启动服务器

node start-server.js

服务器默认使用标准输入/输出通信。

使用 MCP 工具

可以通过标准输入/输出与 MCP 服务器通信。以下是一些示例:

# 解析 Swagger 文档
node examples/optimized-swagger-parser-example.js

# 生成 TypeScript 类型
node examples/typescript-generator-example.js

# 生成 API 客户端
node examples/api-client-generator-example.js

可用工具

1. Swagger/OpenAPI 解析工具

标准解析工具 (parse-swagger)

{
  "method": "parse-swagger",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": true,
    "includeDetails": true
  }
}

优化解析工具 (parse-swagger-optimized)

适用于完整解析,带有高级选项:

{
  "method": "parse-swagger-optimized",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": true,
    "includeDetails": true,
    "useCache": true,
    "skipValidation": true,
    "cacheTTLMinutes": 60,
    "lazyLoading": false,
    "filterTag": "pet"
  }
}

轻量级解析工具 (parse-swagger-lite)

为大型文档优化,快速但只返回基本信息:

{
  "method": "parse-swagger-lite",
  "params": {
    "url": "https://petstore3.swagger.io/api/v3/openapi.json",
    "includeSchemas": false,
    "includeDetails": false,
    "useCache": true,
    "skipValidation": true
  }
}

2. TypeScript 类型生成工具

标准类型生成器 (generate-typescript-types)

{
  "method": "generate-typescript-types",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/types",
    "namespace": "PetStore",
    "strictTypes": true,
    "generateEnums": true,
    "generateIndex": true
  }
}

优化类型生成器 (generate-typescript-types-optimized)

{
  "method": "generate-typescript-types-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/types",
    "namespace": "PetStore",
    "strictTypes": true,
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "includeSchemas": ["Pet", "Order", "User"]
  }
}

3. API 客户端生成工具

标准 API 客户端生成器 (generate-api-client)

{
  "method": "generate-api-client",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/api",
    "clientType": "axios",
    "generateTypeImports": true,
    "typesImportPath": "../types",
    "groupBy": "tag"
  }
}

优化 API 客户端生成器 (generate-api-client-optimized)

{
  "method": "generate-api-client-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/api",
    "clientType": "react-query",
    "generateTypeImports": true,
    "typesImportPath": "../types",
    "groupBy": "tag",
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "includeTags": ["pet", "store"]
  }
}

4. 文件写入工具

{
  "method": "file-writer",
  "params": {
    "filePath": "./output.txt",
    "content": "Hello, world!",
    "createDirs": true
  }
}

处理大型 API 文档

对于大型 API 文档,推荐使用以下配置:

  1. 使用优化版工具,启用缓存和懒加载
  2. 使用标签或路径前缀过滤,只获取需要的 API 操作
  3. 仅在必要时包含模式定义
  4. 设置合理的缓存有效期,避免频繁重新解析

示例:

{
  "method": "parse-swagger-lite",
  "params": {
    "url": "https://your-large-api-doc-url.json",
    "useCache": true,
    "skipValidation": true,
    "lazyLoading": true,
    "filterTag": "your-specific-tag",
    "includeSchemas": false
  }
}

支持的客户端框架

目前支持以下 API 客户端框架:

  • Axios: 功能全面的 Promise 基 HTTP 客户端
  • Fetch: 浏览器原生 API,无需额外依赖
  • React Query: 用于 React 应用的数据获取和缓存库,提供 hooks 和缓存功能

示例 - 生成 React Query 客户端:

{
  "method": "generate-api-client-optimized",
  "params": {
    "swaggerUrl": "https://petstore3.swagger.io/api/v3/openapi.json",
    "outputDir": "./generated/react-query",
    "clientType": "react-query",
    "generateTypeImports": true
  }
}

缓存管理

API 文档缓存存储在 .api-cache 目录中。如果需要清除缓存:

  1. 删除 .api-cache 目录
  2. 或者设置 useCache: false 参数

配置选项

可在 swagger-mcp-config.json 中自定义服务器设置:

{
  "name": "Swagger MCP Server",
  "version": "1.0.0",
  "transport": "stdio"
}

开发与调试

启动调试服务器:

node start-server.js

然后使用 MCP Inspector 连接:

npx @modelcontextprotocol/inspector pipe -- node start-server.js

或者直接方式(但可能导致输出混乱):

npx @modelcontextprotocol/inspector -- node start

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选