mcp-swagger-schema
Provides tools to query and retrieve JSON schemas for API requests and responses from Swagger/OpenAPI specifications, including support for path parameters and automatic reference resolution.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-swagger-schemaget the schema for the /api/v1/users endpoint"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-swagger-schema
一个 MCP (Model Context Protocol) 服务器,用于查询 Swagger 规范中的接口 schema。
功能
根据 API 路径获取请求和响应的 JSON Schema
自动解析
$ref引用支持路径参数匹配(如
/api/users/{id})内置缓存机制
Related MCP server: swagger-json-mcp
快速开始
第一步:找到你的 Swagger JSON 地址
你需要先获取项目的 Swagger/OpenAPI 规范地址,通常是类似这样的 URL:
https://your-api.com/v3/api-docs
第二步:配置 MCP 服务器
在你的 MCP 配置文件中(通常是 .mcp/config.json 或类似的配置),添加如下配置:
{
"mcpServers": {
"swagger-schema": {
"command": "npx",
"args": ["-y", "mcp-swagger-schema"],
"env": {
"SWAGGER_SPEC_URL": "替换成你的swagger地址"
}
}
}
}⚠️ 常见问题:找不到 npx 命令
如果启动失败,提示找不到 npx,按以下步骤解决:
步骤 1:打开终端,运行以下命令
which npx你会看到类似这样的输出:
/Users/你的用户名/.nvm/versions/node/v20.0.0/bin/npx步骤 2:复制 bin 目录路径
把上面输出的路径,去掉最后的 /npx,得到 bin 目录:
/Users/你的用户名/.nvm/versions/node/v20.0.0/bin步骤 3:修改配置,添加 PATH
{
"mcpServers": {
"swagger-schema": {
"command": "npx",
"args": ["-y", "mcp-swagger-schema"],
"env": {
"SWAGGER_SPEC_URL": "替换成你的swagger地址",
"PATH": "步骤2得到的路径:/usr/bin:/bin"
}
}
}
}例如:
{
"mcpServers": {
"swagger-schema": {
"command": "npx",
"args": ["-y", "mcp-swagger-schema"],
"env": {
"SWAGGER_SPEC_URL": "https://api.example.com/swagger.json",
"PATH": "/Users/zhangsan/.nvm/versions/node/v20.0.0/bin:/usr/bin:/bin"
}
}
}
}使用方法
配置完成后,在对话中直接说:
获取 /api/users 接口的 schema
AI 会调用工具返回该接口的请求参数和响应结构。
工具参数说明
参数 | 必填 | 说明 |
| ✅ | 接口路径,如 |
| ❌ | HTTP 方法(get/post/put/delete),不填会自动选择 |
返回示例
{
"found": true,
"path": "/api/users",
"method": "post",
"summary": "创建用户",
"request": {
"body": {
"type": "object",
"properties": {
"name": { "type": "string" },
"email": { "type": "string" }
}
}
},
"response": {
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" }
}
}
}环境变量
变量名 | 必填 | 说明 |
| ✅ | Swagger/OpenAPI JSON 规范的 URL |
| ❌ | 缓存过期时间(毫秒),默认 60000 |
License
MIT
Available Tools
1 toolget_api_schemaC
根据接口路径获取 Swagger/OpenAPI 的请求和响应 schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | 接口路径,如 /api/paymentPackage/updatePaymentPackageMaterialConfig | |
| method | No | HTTP 方法,可选,如 post/get;不填则自动选一个存在的方法 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions fetching schemas but lacks details on error handling, authentication needs, rate limits, or output format. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized for a simple tool, though it could be slightly more structured by front-loading key information more explicitly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., schema format, error responses) or behavioral aspects like permissions or limitations. For a tool with no structured support, the description should provide more context to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for both parameters in the input schema. The description adds no additional meaning beyond what the schema provides, such as examples or edge cases. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '根据接口路径获取 Swagger/OpenAPI 的请求和响应 schema' (Get Swagger/OpenAPI request and response schema based on API path). It specifies the verb '获取' (get) and the resource 'schema', making the purpose understandable. However, with no sibling tools mentioned, there's no opportunity to distinguish from alternatives, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or constraints. It simply states what the tool does without context about its application or limitations, such as when it's appropriate to fetch schemas or what happens if the path is invalid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.1.0- First observed
get_api_schema
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool has a clear, singular purpose of retrieving API schemas based on interface paths.
The single tool name 'get_api_schema' follows a clear verb_noun pattern (get + api_schema). Since there is only one tool, consistency is inherently perfect with no deviations to assess.
A single tool is too few for a server named 'mcp-swagger-schema', which suggests a broader scope related to Swagger/OpenAPI schemas. One tool feels thin and limits functionality, such as lacking operations for listing, updating, or validating schemas.
The tool surface is severely incomplete for the implied domain of Swagger/OpenAPI schema management. While 'get_api_schema' provides retrieval, there are obvious gaps like creating, updating, deleting, or listing schemas, which are essential for full coverage.
Maintenance
Related MCP Connectors
MCP server for AI access to Swagger by SmartBear.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that provides tools for exploring large OpenAPI schemas without loading entire schemas into LLM context. Perfect for discovering and analyzing endpoints, data models, and API structure efficiently.914MIT
- FlicenseAqualityDmaintenanceA powerful MCP server for querying and processing large Swagger/OpenAPI JSON documents, enabling LLMs to efficiently access API documentation without loading entire files.62-
- AlicenseNot gradedqualityCmaintenanceA generic MCP server that converts any OpenAPI/Swagger specification into MCP tools, enabling AI assistants to search, explore, and execute REST APIs.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to explore, search, and query API definitions from OpenAPI/Swagger JSON files.10 npmMIT