Swagger MCP Server

Swagger MCP Server

site icon
2025.03.13 42
TypeScriptAPI 管理开发工具开发效率
Swagger MCP Server 是一个通过模型上下文协议(MCP)接收并提供 Swagger/OpenAPI 规范的服务。它能够加载 Swagger/OpenAPI 规范,支持多种认证方法,并自动从 API 端点生成 MCP 工具。此外,它还支持服务器发送事件(SSE)以实现实时通信,并提供 TypeScript 支持。
View on GitHub

Overview

基本能力

产品定位

Swagger MCP Server 是一个用于管理和提供 Swagger/OpenAPI 规范的服务,通过 MCP 协议实现 API 的自动化工具生成和实时通信。

核心功能

  • 加载 Swagger/OpenAPI 规范
  • 支持多种认证方法:
  • Basic Auth
  • Bearer Token
  • API Key(header 或 query)
  • OAuth2
  • 自动从 API 端点生成 MCP 工具
  • 支持服务器发送事件(SSE)以实现实时通信
  • TypeScript 支持

适用场景

  • 需要自动化生成 API 工具的开发环境
  • 需要实时通信支持的 API 管理
  • 需要多种认证方法支持的 API 服务

工具列表

  • 自动生成的 MCP 工具:根据 API 端点自动生成工具,用于 API 调用和管理。

常见问题解答

  • 安全性问题:这是一个个人服务器,不应将其暴露在公共互联网上。如果底层 API 需要认证,不应将 MCP 服务器暴露在公共互联网上。
  • 待办事项
  • 支持使用用户提供的密钥来认证 API 请求
  • 全面的测试套件

使用教程

使用依赖

  • Node.js(v18 或更高版本)
  • Yarn 包管理器
  • TypeScript

安装教程

  1. 克隆仓库:
git clone https://github.com/dcolley/swagger-mcp.git
cd swagger-mcp
  1. 安装依赖:
yarn install
  1. 创建 .env 文件:
cp .env.example .env
  1. 配置 Swagger/OpenAPI 规范:
  2. 将 Swagger 文件放入项目(例如 swagger.json
  3. 或提供 Swagger 规范的 URL

  4. 更新 config.json 中的配置:

{
  "server": {
    "host": "localhost",
    "port": 3000
  },
  "swagger": {
    "url": "url-or-path/to/your/swagger.json",
    "apiBaseUrl": "https://api.example.com",
    "defaultAuth": {
      "type": "apiKey",
      "apiKey": "your-api-key",
      "apiKeyName": "api_key",
      "apiKeyIn": "header"
    }
  }
}

调试方式

  1. 启动开发服务器:
yarn dev
  1. 构建生产版本:
yarn build
  1. 启动生产服务器:
yarn start
  1. 运行测试:
# 运行一次测试
yarn test

# 在监视模式下运行测试
yarn test:watch

# 运行测试并生成覆盖率报告
yarn test:coverage

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。