An MCP server that exposes OpenAPI endpoints as MCP tools, with dynamic tool discovery and invocation capabilities
Scoring was not performed
Output schemas not documented. LLMs cannot predict structure of list_api_endpoints, get_api_endpoint_schema, or invoke_api_endpoint responses. This prevents the LLM from planning downstream calls or extracting needed fields.
Tool descriptions lack sufficient context for tool selection. 'List or search for all endpoints' does not explain when to call this vs get_api_endpoint_schema or invoke_api_endpoint. LLM may conflate tools or make wrong selection.
No error handling guidance visible in code. If invoke_api_endpoint fails (invalid endpoint, network error, validation failure), the handler does not return structured recovery hints. Agents will not know whether to retry, ask user, or abort.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 17 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 42 | - | v1 |
Parameter 'args' in invoke_api_endpoint is typed as 'object' with generic description. No constraint on valid properties, required fields, or expected structure. LLM cannot validate that args match the schema returned by get_api_endpoint_schema without trial and error.
search_query parameter lacks constraint documentation. No mention of max length, case sensitivity, supported fields, or invalid patterns. LLM may pass very long strings or special characters that break the filter logic.
invoke_api_endpoint description says 'Note: use list_api_endpoints tool to get list and get_api_endpoint_schema tool to get schema' but does not explain what invoke_api_endpoint actually DOES or what happens when called. Does it modify state? Return result? Take time?