一个通过模型上下文协议(MCP)摄取和提供Swagger/OpenAPI规范的服务器。
这是一个个人服务器!!不要将其暴露在公共互联网上。
如果底层 API 需要认证,你不应该将 MCP 服务器暴露在公共互联网上。
git clone https://github.com/dcolley/swagger-mcp.git
cd swagger-mcp

yarn install
.env
文件:cp .env.example .env

配置你的 Swagger/OpenAPI 规范:
swagger.json
)在 config.json
中更新服务器设置:
{
"server": {
"host": "localhost",
"port": 3000
},
"swagger": {
"url": "url-or-path/to/your/swagger.json",
"apiBaseUrl": "https://api.example.com", // Fallback if not specified in Swagger
"defaultAuth": { // Fallback if not specified in Swagger
"type": "apiKey",
"apiKey": "your-api-key",
"apiKeyName": "api_key",
"apiKeyIn": "header"
}
}
}

注意:服务器优先使用 Swagger 规范中的设置而非配置文件中的设置:
servers
数组,则会使用第一个服务器 URL 作为基础 URLyarn dev
yarn build
yarn start
GET /health
- 检查服务器健康状态GET /sse
- 建立服务器发送事件连接POST /messages
- 向 MCP 服务器发送消息运行测试套件:
# Run tests once
yarn test
# Run tests in watch mode
yarn test:watch
# Run tests with coverage report
yarn test:coverage

服务器支持各种认证方法。当 Swagger 文件中未指定时,在 config.json
文件中配置这些方法作为后备选项:
{
"defaultAuth": {
"type": "basic",
"username": "your-username",
"password": "your-password"
}
}

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

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

{
"defaultAuth": {
"type": "oauth2",
"token": "your-oauth-token"
}
}

yarn dev
此项目根据 Apache 2.0 许可证许可。
PORT
: 服务器端口(默认:3000)API_USERNAME
: API认证用户名(备选)API_PASSWORD
: API认证密码(备选)API_TOKEN
: API认证令牌(备选)DEFAULT_API_BASE_URL
: API端点的默认基础URL(备选)DEFAULT_SWAGGER_URL
: 默认的Swagger规范URL