MCP API discovery server backed by Swagger/OpenAPI specifications
Three tools are well-defined with strong descriptions and comprehensive parameter schemas. Tool names are action-oriented (list_, search_, get_). Descriptions exceed the 50-character minimum and include detailed usage boundaries, trigger scenarios, and recommendations. Input schemas declare all parameters with types and descriptions. However, output schemas are entirely absent from the code, only parameter inputs are visible. The server does not document what each tool returns, which prevents LLMs from planning downstream calls or extracting structured data. No tool annotations (readOnlyHint/destructiveHint) are present despite all three tools being read-only operations. Error handling is not visible in the tool definitions themselves.
获取指定 API 的完整定义详情,包括参数结构、请求体和响应体的完整 schema 信息。 【功能边界】 ✅ 能做什么: - 根据 operationId 精确查找 API 详情 - 根据 method + path 组合查找 API 详情 - 返回完整的参数定义,包括类型、描述、枚举等详细信息 - 支持按项目过滤查找 ❌ 不能做什么: - 不能模糊搜索 API(请使用 search_apis 工具) - 不能分页浏览 API 列表(请使用 list_api 工具) - 不能返回 API 调用示例或代码片段 - 当找不到匹配的 API 时会返回错误 【触发场景】 当用户说以下任一情况时,请使用此工具: - "查看某个具体 API 的详细参数定义" - "我想了解 [API名称] 的请求和响应格式" - "获取 [operationId] 的完整接口文档" - "需要知道某个接口的具体参数要求" 【使用建议】 - 优先使用 operationId 进行精确查找 - 如果不知道 operationId,可以使用 method + path 组合 - 可以指定 project 参数缩小搜索范围,提高效率
分页列出 API 概览信息,支持按项目、标签、HTTP 方法等条件过滤。 【功能边界】 ✅ 能做什么: - 分页浏览所有可用的 API 列表 - 按项目名称过滤 API - 按标签(tag)过滤 API - 按 HTTP 方法(GET/POST/PUT/PATCH/DELETE)过滤 API - 获取项目列表和基本信息 ❌ 不能做什么: - 不能查看 API 的详细参数定义(请使用 get_api_detail 工具) - 不能进行关键字搜索(请使用 search_apis 工具) - 不能获取完整的请求/响应体结构 - pageSize 最大限制为 200 【触发场景】 当用户说以下任一情况时,请使用此工具: - "列出所有的 API 接口" - "浏览 API 列表,每页显示 [数量]" - "查看 [项目名] 下有哪些 API" - "筛选出所有 GET/POST 方法的接口" - "按标签 [tag] 查看相关 API" 【使用建议】 - 首次调用建议不带 project 参数,获取所有项目列表 - 然后指定具体 project 查看该项目下的 API - 可结合 tag 或 method 参数进一步筛选
根据关键字、标签、HTTP 方法等条件搜索匹配的 API。 【功能边界】 ✅ 能做什么: - 根据关键字全文搜索 API(operationId、路径、摘要、描述等) - 按项目名称搜索 API - 按标签(tag)搜索 API - 按 HTTP 方法搜索 API - 限制返回结果数量(最多 100 条) ❌ 不能做什么: - 不能分页浏览完整列表(请使用 list_api 工具) - 不能查看 API 的详细参数定义(请使用 get_api_detail 工具) - 不能按复杂条件组合搜索 - 搜索结果最多返回 100 条记录 【触发场景】 当用户说以下任一情况时,请使用此工具: - "搜索包含 [关键词] 的 API 接口" - "查找 [功能描述] 相关的接口" - "搜索 [项目名] 中的 API" - "找出所有 [标签] 类型的接口" - "查找 [HTTP方法] 方式的接口" 【使用建议】 - 使用具体的功能词汇作为 query 关键字效果更好 - 可以结合 project 参数在特定项目中搜索 - 搜索结果较多时可使用 limit 参数限制数量
Output schemas completely undocumented. No visible response structure definitions for any of the three tools. LLMs cannot determine what fields are returned, what types they have, or which references (IDs, URLs, etc.) can be chained to downstream tool calls.
Tool annotations missing. All three tools are read-only (no side effects), but readOnlyHint is not declared in the tool registration. LLMs cannot distinguish safe tools from destructive ones without explicit annotations.
No pagination limits enforced in schema. list_api accepts pageSize with description 'max 200' but no schema-level maxium constraint (e.g., maximum: 200). LLMs may pass invalid values if they do not read descriptions carefully.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 64 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Search result limit not enforced in schema. search_apis describes 'limit max 100' in description text but does not enforce it via schema maximum constraint.
Enum constraints not properly formalized for get_api_detail. The method parameter is missing from the schema but is documented as accepting GET|POST|PUT|PATCH|DELETE when used with path.