
Swagger MCP Server
一个服务器,它可以通过模型上下文协议(MCP)与任何具有 Swagger/OpenAPI 规范的 API 进行交互,自动从 API 端点生成工具,并支持多种身份验证方法。
README
Swagger MCP 服务器
一个通过模型上下文协议 (MCP) 摄取和提供 Swagger/OpenAPI 规范的服务器。
特性
- 加载 Swagger/OpenAPI 规范
- 支持多种身份验证方法:
- Basic Auth (基本认证)
- Bearer Token (Bearer 令牌)
- API Key (API 密钥) (header 或 query)
- OAuth2
- 从 API 端点自动生成 MCP 工具
- Server-Sent Events (SSE) (服务器发送事件) 支持实时通信
- TypeScript 支持
安全
这是一个个人服务器!!不要将其暴露在公共互联网上。 如果底层 API 需要身份验证,则不应将 MCP 服务器暴露在公共互联网上。
TODO
- secrets (密钥) - MCP 服务器应该能够使用来自用户的密钥来验证对 API 的请求
- Comprehensive test suite (全面的测试套件)
前提条件
- 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
- 将您的 Swagger 文件放置在项目中(例如,
-
使用您的服务器设置更新
config.json
中的配置:
{
"server": {
"host": "localhost",
"port": 3000
},
"swagger": {
"url": "url-or-path/to/your/swagger.json",
"apiBaseUrl": "https://api.example.com", // 如果 Swagger 中未指定,则回退到此
"defaultAuth": { // 如果 Swagger 中未指定,则回退到此
"type": "apiKey",
"apiKey": "your-api-key",
"apiKeyName": "api_key",
"apiKeyIn": "header"
}
}
}
注意:服务器优先使用 Swagger 规范中的设置,而不是配置文件中的设置:
- 如果 Swagger 文件包含
servers
数组,则第一个服务器 URL 将用作基本 URL - 如果 Swagger 文件定义了安全方案,它们将用于身份验证
- 当 Swagger 文件中未指定时,配置文件设置用作回退
用法
- 启动开发服务器:
yarn dev
- 构建用于生产环境:
yarn build
- 启动生产服务器:
yarn start
API 端点
GET /health
- 检查服务器健康状态GET /sse
- 建立服务器发送事件连接POST /messages
- 向 MCP 服务器发送消息
测试
运行测试套件:
# 运行测试一次
yarn test
# 在监视模式下运行测试
yarn test:watch
# 运行测试并生成覆盖率报告
yarn test:coverage
身份验证
服务器支持各种身份验证方法。在 config.json
文件中配置它们,作为 Swagger 文件中未指定时的回退:
Basic Auth (基本认证)
{
"defaultAuth": {
"type": "basic",
"username": "your-username",
"password": "your-password"
}
}
Bearer Token (Bearer 令牌)
{
"defaultAuth": {
"type": "bearer",
"token": "your-bearer-token"
}
}
API Key (API 密钥)
{
"defaultAuth": {
"type": "apiKey",
"apiKey": "your-api-key",
"apiKeyName": "X-API-Key",
"apiKeyIn": "header"
}
}
OAuth2
{
"defaultAuth": {
"type": "oauth2",
"token": "your-oauth-token"
}
}
开发
- 启动开发服务器:
yarn dev
<!-- 2. 对代码进行更改
- 运行测试以确保一切正常:
yarn test
- 构建项目:
yarn build
``` -->
<!-- ## 贡献
1. Fork 存储库
2. 创建您的功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交您的更改 (`git commit -m 'Add some amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 打开一个 Pull Request -->
## 许可证
此项目已获得 Apache 2.0 许可证的许可。
## 环境变量
- `PORT`: 服务器端口(默认:3000)
- `API_USERNAME`: API 身份验证的用户名(回退)
- `API_PASSWORD`: API 身份验证的密码(回退)
- `API_TOKEN`: API 身份验证的 API 令牌(回退)
- `DEFAULT_API_BASE_URL`: API 端点的默认基本 URL(回退)
- `DEFAULT_SWAGGER_URL`: 默认 Swagger 规范 URL
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。