
Swagger MCP Server

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
安装教程
- 克隆仓库:
git clone https://github.com/dcolley/swagger-mcp.git
cd swagger-mcp
- 安装依赖:
yarn install
- 创建
.env
文件:
cp .env.example .env
- 配置 Swagger/OpenAPI 规范:
- 将 Swagger 文件放入项目(例如
swagger.json
) -
或提供 Swagger 规范的 URL
-
更新
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"
}
}
}
调试方式
- 启动开发服务器:
yarn dev
- 构建生产版本:
yarn build
- 启动生产服务器:
yarn start
- 运行测试:
# 运行一次测试
yarn test
# 在监视模式下运行测试
yarn test:watch
# 运行测试并生成覆盖率报告
yarn test:coverage