Domain-neutral MCP helpers for OpenVSP and VSPAero automation
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. Tool names use domain-specific prefixes (openvsp.*) rather than action verbs (inspect, modify, run are present but inconsistently applied). Schemas are present but parameters lack detailed constraints and validation guidance. No error recovery patterns, no output schema documentation, and descriptions are minimal (34-72 chars, below the 50-200 char LLM-optimized baseline). Missing parameter descriptions for array items and boolean flags. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear read/write semantics.
Describe an OpenVSP geometry without modifying it. Returns component IDs and raw info.
Apply scripted parameter edits to an OpenVSP model without running VSPAero. Use set_commands to adjust geometry; returns the generated script path.
Run OpenVSP edits followed by VSPAero. Provide geometry commands and case_name.
Tool names lack action verbs. 'openvsp.inspect' is acceptable, but 'openvsp.modify' and 'openvsp.run_vspaero' are vague about what they modify or run. LLMs cannot infer intent from domain prefix alone.
Parameter descriptions are missing or incomplete. 'set_commands' is an array of objects with 'command' field, but no description explains what valid commands are, their syntax, or constraints. 'run_vspaero' boolean lacks context on when to set true vs false.
No output schema documentation. Tools return OpenVSPInspectResponse and OpenVSPResponse objects, but the response structure is not visible in source. LLMs cannot plan downstream calls without knowing what fields are returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tools may fail (invalid file path, VSPAero crash, script syntax error) but no error messages or retry logic visible. LLMs have no guidance on what to do if a call fails.
No tool annotations despite clear semantics. 'openvsp.inspect' is read-only (readOnlyHint=true), 'openvsp.modify' and 'openvsp.run_vspaero' are destructive (destructiveHint=true). Annotations guide agent planning and safety.