The server has reasonable tool definitions with clear, action-verb names and documented parameters. All 6 tools have descriptions and input schemas with proper typing. However, output schemas are not documented (ToolDefinition.output_schema is optional and appears unused in tool registration). Parameter descriptions are minimal but present. Error handling guidance is absent. The tools follow a logical session-based pattern (open_cpacs → operations → close_cpacs), which aids composition. Schema completeness is moderate, parameters have types but lack constraints (enums, min/max bounds, format specs). This lands the server in the C-to-low-B range: functional but missing production-grade polish that A-tier tools demonstrate.
Close an open CPACS session and release associated resources
Export a mesh of a CPACS component in the specified format (STL, VTK, or other meshio-supported formats)
Export the full CPACS configuration as a CAD file (STEP or IGES format)
Retrieve detailed metadata for a specific CPACS component by UID
Retrieve a summary of the CPACS configuration including component counts and optional bounding box
Open a CPACS document from either a file path or XML string content
Output schemas not documented. The ToolDefinition.output_schema field exists but is optional (default=None) and no tools register documented return schemas. LLMs cannot plan downstream tool calls or extract specific fields without knowing the response structure.
Parameter constraints missing. All 6 tools lack enums, min/max bounds, format specs, and regex patterns. E.g., 'format' in export_component_mesh accepts 'stl', 'vtk', 'obj' but no enum enforces valid options, LLMs can hallucinate invalid formats like 'pdf' or 'dwg'.
No error handling guidance. Tool descriptions and handler code do not indicate what errors can occur, whether they're retryable, or what the LLM should do next. E.g., 'Invalid XML in open_cpacs' or 'Component UID not found in get_component_metadata', no recovery hints.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 61 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
Parameter descriptions are minimal. E.g., 'component_uid' is described only as 'UID of the component to retrieve metadata for', no hint about format, where to find one, or what happens if it doesn't exist. Descriptions should guide LLM selection and usage.
Session management is implicit. Tools refer to session_id but no tool or documentation explains how to get one, what happens if it's invalid, or how long sessions live. A discovery tool or explicit session listing would help.