API规范交互服务器

一个允许LLM探索和交互Swagger/OpenAPI规范的模型上下文协议服务器,提供加载API规范、浏览端点和获取API操作详细信息的功能。

  • by gulbaki
  • TypeScript
  • 本地部署
  • 14 星标
  • 更新于
在 GitHub 查看 gulbaki/swagger-mcp-server

使用说明

Swagger/OpenAPI MCP服务器

一个模型上下文协议(MCP)服务器,允许LLM探索Swagger/OpenAPI规范并与之交互。该服务器提供用于加载API规范、浏览端点以及获取有关API操作的详细信息的工具和资源。

安装

  1. 克隆或创建项目目录
  2. 安装依赖项:
npm install
  1. 构建TypeScript代码:
npm run build

用法

可用工具

load_api

将OpenAPI/Swagger规范加载到服务器中。

参数:

  • apiId (字符串):此API的唯一标识符
  • source (string):OpenAPI/Swagger规范的URL或文件路径

例子:

{
  "name": "load_api",
  "arguments": {
    "apiId": "petstore",
    "source": "https://petstore.swagger.io/v2/swagger.json"
  }
}

get_endpoint_details

获取有关特定API终结点的详细信息。

参数:

  • apiId (字符串):加载的API的ID
  • method (string):HTTP方法(GET、POST等)
  • path (字符串):API端点路径
  • natural (boolean,可选):如果为true,则返回人类可读的摘要

例子:

{
  "name": "get_endpoint_details",
  "arguments": {
    "apiId": "petstore",
    "method": "GET",
    "path": "/pet/{petId}",
    "natural": true
  }
}

list_apis

列出所有当前加载的API规范。

参数: 无

search_endpoints

搜索与特定模式匹配的端点。

参数:

  • apiId (字符串):加载的API的ID
  • pattern (string):端点路径或描述的搜索模式

例子:

{
  "name": "search_endpoints",
  "arguments": {
    "apiId": "petstore",
    "pattern": "pet"
  }
}

可用资源

swagger://{apiId}/load

获取有关已加载的API规范的概述信息。

swagger://{apiId}/endpoints

获取API的所有可用终结点的列表。

swagger://{apiId}/endpoint/{method}/{path}

获取特定端点的详细信息。

使用Claude Desktop进行配置

要将此服务器与Claude Desktop一起使用,请将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "swagger-explorer": {
      "command": "node",
      "args": ["/path/to/your/swagger-mcp-server/build/index.js"]
    }
  }
}

替换 /path/to/your/swagger-mcp-server 带有项目目录的实际路径。

许可证

MIT许可证