A vehicle inventory search MCP server that provides tools to search and retrieve vehicle information from a SQLite database
This MCP server has significant quality gaps across naming, descriptions, parameter clarity, and schema documentation. While three tools are defined with basic schemas, the naming lacks clarity (search_vehicles is overly generic), parameter descriptions are sparse or missing, and output schemas are undocumented. Error handling exists but lacks recovery guidance. The server implements a custom TCP protocol rather than standard MCP over HTTP/SSE, which compounds the protocol readiness issues. Definition quality places this in the D/F range, below the median for community servers.
Retrieve detailed information for a specific vehicle by ID
Check the health status of the server
Search vehicles by optional filters including brand, model, year range, fuel type, transmission type, price range, color, and vehicle category
Output schemas are completely undocumented for search_vehicles and get_vehicle. LLM cannot know what fields to expect or how to chain results to subsequent calls.
Parameter 'tp_combustivel' and 'tp_transmissao' are free-form strings with no enum constraints. LLM will hallucinate invalid fuel types and transmission types.
Ambiguous parameter naming: 'modelo_carro' vs 'modelo', description does not clarify which is vehicle category and which is model name. LLM will confuse them.
search_vehicles lacks pagination parameters (limit, offset/cursor) and result count documentation. No indication of how many results are returned or whether results are truncated.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 32 | - | v1 |
Error handling in _handle_search and _handle_get_vehicle returns generic error messages (e.g., 'Vehicle not found') with no recovery guidance. LLM doesn't know to call search_vehicles to find a valid ID.
get_vehicle description is under 70 chars and reads as bare spec. Does not explain when/why to use this instead of search_vehicles or what 'detailed' information means.