MCP Server that parses OpenAPI 3.0 specifications and generates autonomous tool methods for agent execution. Translates OpenAPI endpoint paths, query/body schemas, and HTTP methods into self-contained, type-annotated Python client methods with parameter validation.
Both tools have minimal descriptions (under 100 chars) and critically incomplete input schemas. import_spec accepts a bare 'spec' object with no parameter-level type constraints or validation guidance. invoke_tool's 'params' parameter is an untyped object with no schema for what fields it should contain. Neither tool documents output structure. No error handling guidance, no parameter constraints (enums, ranges, formats), and no recovery paths. The server lacks idempotency markers, permission gates, and audit trails. Tool names are somewhat clear (verb_noun pattern) but descriptions fail to explain WHEN to use each tool or what happens to state.
Parse OpenAPI specification dictionary and extract tool methods from paths, methods, operationIds, summaries, and parameters
Execute a generated tool by name with supplied parameters. Validates required parameters and returns execution result with HTTP method, path, and supplied arguments.
Input schemas lack parameter-level type definitions and constraints. 'spec' parameter in import_spec has no schema for required fields (paths, methods, operationId). 'params' in invoke_tool is an untyped object with no validation rules.
No output schema documented. Callers cannot predict response structure (e.g., does invoke_tool return HTTP status codes, response body, error details?). LLMs cannot plan downstream tool calls without knowing what fields to extract.
Descriptions are too brief and lack context. import_spec (89 chars) does not explain when to call it or what 'tool methods' means. invoke_tool (156 chars) does not state that it simulates execution without actual HTTP calls, risking LLM confusion about side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If invoke_tool fails (tool not found, missing required param), the response is a bare error dict with no actionable next steps for the LLM.
invoke_tool does not validate required parameters against the OpenAPI spec. The validate_args() method checks presence but does not enforce type, format, or enum constraints from the spec. LLMs can pass invalid values without feedback.