A Model Context Protocol server for searching and managing vehicle inventory using natural language processing with Ollama LLM integration
This server has critical definition quality gaps. The single tool 'search_vehicles' has a vague description ('Search vehicles with optional filters') that lacks actionable context for LLM selection. The input schema defines only a generic 'filters' object with no type constraints, enum values, or field-level descriptions, LLMs cannot determine valid filter keys (brand, year, fuel, price are mentioned in description but not enforced in schema). No output schema is documented. The tool lacks error handling guidance, recovery paths, and does not indicate whether it's idempotent or has side effects. Parameter descriptions are absent from the schema definition. The implementation uses raw socket I/O without MCP protocol compliance.
Search vehicles with optional filters
Input schema lacks type constraints and field descriptions. 'filters' is defined as a bare object with no properties, enums, or validation rules. LLMs cannot determine valid filter keys or formats.
Tool description is generic and under 50 characters. 'Search vehicles with optional filters' does not explain WHEN to use this tool, what filters are valid, or what the response structure is. Fails LLM-optimized description baseline (50-200 chars).
No output schema documented. LLMs cannot plan downstream operations or extract required fields (e.g., vehicle_id for follow-up calls). Response structure is invisible.
No error handling or recovery guidance. If filters are invalid or no results match, the tool provides no actionable error message or next steps for the LLM.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 27 | <=2025-11-25 | v2 |
Implementation uses raw socket I/O (server.py lines 35-45) instead of MCP protocol. This is not an MCP server, it is a custom TCP socket server that does not implement the MCP specification.