Swagger文档服务器

一个提供Swagger/OpenAPI文档访问并根据规范进行API请求的MCP服务器。

  • by andersmandersen
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 andersmandersen/mcp-swagger

使用说明

MCP Swagger服务器

一个MCP服务器,提供对Swagger/OpenAPI文档的访问,并允许根据规范提出API请求。

特性

  • 从URL加载Swagger文档
  • 根据Swagger规范发出API请求
  • 支持通过API密钥进行身份验证
  • 缓存Swagger规范,以获得更好的性能
  • 根据Swagger规范验证请求

设置

  1. 安装依赖项:
npm install
  1. 构建TypeScript代码:
npm run build

本地运行

开发模式:

npm run dev

生产方式:

npm run start

配置

服务器需要以下环境变量:

  • SWAGGER_URL:Swagger规范的URL(必填)
  • AUTH_KEY:API请求的身份验证密钥(可选)

可用资源和工具

资源: swagger-doc

  • URI: swagger://documentation
  • 说明:获取完整的Swagger文档

工具: makeRequest

根据Swagger规范提出API请求。

参数:

  • path:API终结点路径
  • method:HTTP方法(GET、POST等)
  • parameters:可选路径/查询参数
  • body:可选请求正文

例子:

const result = await mcp.tools.makeRequest({
  path: "/api/users",
  method: "GET",
  parameters: { userId: "123" }
});

Smithery.ai部署

此服务器已配置为在Smithery.ai上部署。部署需要:

  1. A. Dockerfile 构建和运行服务器
  2. A. smithery.yaml 配置文件
  3. 正确的TypeScript构建设置

配置架构

在Smithery.ai上部署时,使用以下配置服务器:

{
  "swaggerUrl": "https://api.example.com/swagger.json",
  "authKey": "your-api-key"  // Optional
}

Smithery的本地测试

  1. 构建Docker镜像:
docker build -t mcp-swagger .
  1. 运行容器:
docker run -e SWAGGER_URL=your-swagger-url -e AUTH_KEY=your-auth-key mcp-swagger

发展

脚本

  • npm run build:构建TypeScript代码
  • npm run start:在生产模式下运行服务器
  • npm run dev:以热重新加载的开发模式运行服务器