loading…
Search for a command to run...
loading…
An MCP server that crawls and parses OpenAPI JSON or Swagger UI URLs to provide concise endpoint summaries. It enables LLMs to discover and interact with API in
An MCP server that crawls and parses OpenAPI JSON or Swagger UI URLs to provide concise endpoint summaries. It enables LLMs to discover and interact with API interfaces by extracting methods, paths, and operation IDs from documentation sources.
一个基于 NodeJS 的 MCP Server:输入 OpenAPI JSON URL 或 Swagger UI URL,自动抓取/解析文档并返回接口清单(summary 级),供 Cursor 的提示词继续处理。
/openapi.json、/v3/api-docs)/swagger-ui/index.html),会自动发现其背后的 spec URLmethod + path + summary + tags + operationIdnpm install
npm run build
构建产物在 dist/,并且已配置 bin,可以被 npx 直接执行。
项目内已提供示例配置:.cursor/mcp.json。
关键配置如下(示例):
{
"mcpServers": {
"openapi-swagger": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "E:/API-MCP"],
"env": {
"OPENAPI_SOURCE_URL": "https://example.com/v3/api-docs"
}
}
}
}
把
E:/API-MCP替换成你本机的项目根目录路径。你也可以把
OPENAPI_SOURCE_URL配成 Swagger UI 地址(例如https://example.com/swagger-ui/index.html)。
缓存一个文档地址,后续 openapi_listEndpoints 可省略入参。
输入:
{ "sourceUrl": "https://example.com/swagger-ui/index.html" }
抓取并解析 OpenAPI,然后返回接口清单(summary 级)。
输入(两种用法二选一):
{ "sourceUrl": "https://example.com/v3/api-docs" }
或(使用已缓存的 source):
{}
如果你在
.cursor/mcp.json里配置了OPENAPI_SOURCE_URL,那么第一次调用openapi_listEndpoints直接传{}就能生效。
输出示例:
{
"ok": true,
"source": {
"inputUrl": "https://example.com/swagger-ui/index.html",
"resolvedSpecUrl": "https://example.com/v3/api-docs",
"openapiVersion": "3.0.3"
},
"endpoints": [
{
"method": "GET",
"path": "/pets/{id}",
"operationId": "getPetById",
"summary": "Get a pet",
"tags": ["pets"]
}
]
}
失败时输出示例(便于提示词分支处理):
{
"ok": false,
"stage": "fetch/parse/extract",
"inputUrl": "https://example.com/swagger-ui/index.html",
"details": {
"name": "Error",
"message": "Failed to discover spec URL from Swagger UI page"
}
}
npm run dev
如果你要验证 npx 启动(Cursor 同款):
npx -y E:/API-MCP
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-openapi-swagger": {
"command": "npx",
"args": []
}
}
}