MCP server for decoding VINs and fetching Canadian vehicle specs from NHTSA vPIC.
Two tools with clear verb-noun naming (decode_vin, get_canadian_vehicle_specifications) and reasonable descriptions (60-80 chars). Input schemas are present with typed parameters and descriptions. However, output schemas are not documented, the code returns complex nested dicts (summary, raw, specs_map, results) without formal schema declarations. Parameter descriptions lack format constraints and validation guidance. Error handling is present but generic ('NHTSA API returned no results') without recovery hints. No tool annotations (readOnlyHint, idempotentHint) despite both being read-only operations.
Decode a 17-character vehicle VIN using NHTSA's free vPIC API.
Get Canadian vehicle specifications from NHTSA vPIC by year, make, and optional model.
Output schemas not documented. Both tools return complex nested structures (summary, raw, specs_map, results) with no formal schema declaration. LLMs cannot plan downstream operations or extract fields reliably.
Parameter descriptions lack format constraints. 'vin' parameter says '17-character' but does not mention the character set restriction (no I, O, Q). 'units' parameter accepts 'Metric' or 'US' but description does not clarify case sensitivity or default behavior.
Error messages lack recovery guidance. 'NHTSA API returned no results for this VIN' does not tell the LLM what to do next (retry, ask user for clarification, try a different tool). Errors should guide the agent's next action.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Tool annotations missing. Both tools are read-only (no state modification) but lack readOnlyHint annotation. This prevents agents from understanding safety properties and optimizing retry logic.
No pagination or result limits documented. get_canadian_vehicle_specifications returns all results without limit or offset parameters. If NHTSA returns 500+ vehicle specs, the response could exhaust context windows.