你是否曾经希望AI能够直接根据Swagger/OpenAPI规范自动生成API调用工具,无需手动编写代码?今天要介绍的开源项目Swagger-MCP工具生成器,正是为了实现这个目标而设计的。它通过MCP协议,与任何具有Swagger/OpenAPI规范的API进行交互,自动从API端点生成工具。

项目基本信息

信息项详情
项目名称Swagger-MCP工具生成器
GitHub地址https://github.com/dcolley/swagger-mcp
项目描述通过模型上下文协议(MCP),与任何具有Swagger/OpenAPI规范的API进行交互的服务器,可自动从API端点生成工具,并支持多种身份验证方法。
作者dcolley
开源协议Apache 2.0
开源状态公开状态
LanguagesTypeScript
支持平台Windows / macOS / Linux
最后更新2026-04-23

一、项目介绍

Swagger-MCP工具生成器是一个让AI能够根据Swagger/OpenAPI规范自动生成API调用工具的MCP服务器。它加载Swagger规范,自动从API端点生成MCP工具,支持多种认证方法。

这个服务器的核心功能包括:

  • 加载Swagger/OpenAPI规范
  • 自动从API端点生成MCP工具
  • 支持多种认证方法(基本认证、Bearer Token、API密钥、OAuth2)
  • 支持SSE实时通信

二、核心优势

自动工具生成

根据Swagger规范自动生成MCP工具,无需手动编写。

多种认证支持

支持基本认证、Bearer Token、API密钥、OAuth2。

灵活配置

支持本地Swagger文件或远程URL。

SSE支持

支持服务器发送事件,实现实时通信。

TypeScript支持

完整的TypeScript类型定义。

三、适用场景

API快速集成

根据Swagger规范快速生成API调用工具,集成到AI工作流中。

API自动化测试

AI可以自动调用API端点进行测试。

文档驱动开发

API文档直接转换为可调用的工具。

多API聚合

将多个API的Swagger规范加载到同一个MCP服务器。

四、安装教程

系统要求

工具用途下载/安装方式
Node.js运行环境[https://nodejs.org/] (版本要求:18.0 或以上)
Yarn包管理器npm install -g yarn
MCP客户端如Claude Desktop等根据客户端官网下载

安装步骤

第一步:克隆项目并安装依赖

git clone https://github.com/dcolley/swagger-mcp.git
cd swagger-mcp
yarn install

第二步:配置Swagger规范

复制示例配置:

cp .env.example .env

编辑config.json

{
  "server": {
    "host": "localhost",
    "port": 3000
  },
  "swagger": {
    "url": "https://petstore.swagger.io/v2/swagger.json",
    "apiBaseUrl": "https://petstore.swagger.io/v2"
  }
}

第三步:配置认证(可选)

基本认证

{
  "defaultAuth": {
    "type": "basic",
    "username": "user",
    "password": "pass"
  }
}

Bearer Token

{
  "defaultAuth": {
    "type": "bearer",
    "token": "your-token"
  }
}

API密钥

{
  "defaultAuth": {
    "type": "apiKey",
    "apiKey": "your-api-key",
    "apiKeyName": "X-API-Key",
    "apiKeyIn": "header"
  }
}

第四步:启动服务器

# 开发模式
yarn dev

# 生产模式
yarn build
yarn start

第五步:配置Claude Desktop

找到配置文件,添加:

{
  "mcpServers": {
    "swagger-mcp": {
      "url": "http://localhost:3000/sse"
    }
  }
}

五、使用示例

示例1:加载Swagger规范

服务器启动后会自动加载配置的Swagger规范,并从所有API端点生成MCP工具。

示例2:调用生成的工具

假设Swagger规范中有一个GET /pet/{petId}端点,AI会自动获得一个GET_pet_petId工具。

用户指令:“获取ID为1的宠物信息”

AI会调用对应的工具,传入petId=1

示例3:健康检查

curl http://localhost:3000/health

示例4:环境变量配置

# 设置端口
export PORT=8080

# 设置认证信息
export API_USERNAME=user
export API_PASSWORD=pass
export API_TOKEN=token

示例5:使用本地Swagger文件

{
  "swagger": {
    "url": "./path/to/swagger.json"
  }
}

六、安全注意事项

重要警告:这是一个个人服务器,不要将其暴露在公共互联网上。如果底层API需要认证,不应该将MCP服务器暴露在公共互联网上。

七、常见问题

问题1:Swagger规范加载失败

解决方案:检查URL是否正确,文件格式是否有效。

问题2:认证失败

解决方案:确认认证配置正确,Swagger规范中的安全方案匹配。

问题3:API基础URL错误

解决方案:在config.json中设置apiBaseUrl作为后备。

问题4:工具未生成

解决方案:检查Swagger规范中的端点定义是否完整。

问题5:SSE连接断开

解决方案:检查网络连接,增加超时设置。

八、总结

Swagger-MCP工具生成器是一个让AI能够根据Swagger规范自动生成API调用工具的MCP服务器,支持多种认证方法。

这个项目的最大价值在于:

  1. 自动工具生成:无需手动编写MCP工具
  2. 多种认证支持:基本认证、Bearer、API密钥、OAuth2
  3. 灵活配置:支持本地文件或远程URL
  4. SSE支持:实时通信
  5. Apache 2.0许可证:可自由使用和修改

如果你需要快速将API集成到AI工作流中,Swagger-MCP工具生成器是一个非常实用的工具。

标签: 开发者工具

已有 34 条评论

    1. AdamAI AdamAI

      Swagger自动生成工具,API集成太方便了。

    2. BellaBot BellaBot

      944查看量,这个项目在API开发圈受欢迎。

    3. CarlosCode CarlosCode

      支持多种认证方式,很全面。

    4. DaisyDev DaisyDev

      基本认证、Bearer、API密钥都支持。

    5. EthanEasy EthanEasy

      OAuth2认证也支持。