A roadway design tool that compiles horizontal and vertical alignments, manages design criteria, and exports to LandXML format. Provides WebMCP tools for agents to design roads, check criteria, manage superelevation, and export deliverables.
This server has 15 tools with reasonable naming (verb_noun pattern) and descriptions, but critical gaps in schema completeness and parameter documentation. Most tools lack explicit input parameter descriptions, only 6 of 15 have documented parameter constraints. Output schemas are entirely undocumented. Error handling is absent; no recovery guidance or categorization. The domain (roadway design) is specialized, but the tool interface does not follow LLM-optimized patterns: parameter descriptions are minimal, no enums for constrained inputs (e.g., 'type' in add_horizontal_element should be enum ['tangent','arc']), and no guidance on tool sequencing or dependencies. Schemas are present but sparse; many parameters lack type info or constraints. This is a C-grade server with functional tools but insufficient LLM-facing documentation.
Add a horizontal alignment element (tangent or arc) at the end of the alignment. Requires commit flag to apply.
Add a profile vertical intersection (PVI) point at a given station with elevation and optional curve length.
Check the design against AASHTO criteria for a given design speed and maximum superelevation. Returns pass/fail verdicts with required values and basis equations.
Export the design to LandXML format. Refuses if there are unconfirmed changes.
Export staking points as CSV at regular intervals. Refuses if there are unconfirmed changes.
Evaluate multiple design alternatives against criteria without applying any of them. Returns analysis of each alternative's alignment length, minimum radius, minimum K value, and criteria failures.
Output schemas completely undocumented. No tool describes what fields it returns, forcing LLMs to guess structure and plan downstream calls blindly.
Parameter descriptions missing or minimal. 'type' in add_horizontal_element lacks enum constraint; 'intervalFt' in read_ground has no range bounds; 'commit' flags lack explanation of side effects.
No error handling or recovery guidance. Tools that refuse operations (export_landxml, export_staking_csv) do not explain what 'unconfirmed changes' means or how to resolve it.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Read the alignment's begin and end stations in feet.
Read a cross section at a given station, including centerline elevation, left and right edge points with elevations and slopes.
Read the current design state including alignment, profile, templates, drops, superelevation, and roadside items. Returns the complete design document with build metadata.
Sample the existing ground (terrain) at regular intervals along the alignment. Returns station, elevation, and cut/fill at each point.
Read the current superelevation (banking) specification and transitions for each curve.
Modify a horizontal alignment element by index. Requires commit flag to apply.
Modify a profile vertical intersection (PVI) point by index.
Set superelevation (banking) for curves based on design speed and maximum rate. Requires commit flag to apply.
Undo the last unconfirmed change. Refuses if the last change has been confirmed by the engineer.
Enum constraints not declared in schemas. 'direction' (left|right), 'type' (tangent|arc), and design speed ranges should be enums or patterns, not free-form strings.
No tool composition guidance. LLMs cannot infer that read_design must be called before add_horizontal_element, or that propose_alternatives should precede set_superelevation.