An MCP server exposing Euro Truck Simulator 2 / American Truck Simulator telemetry and driving analytics to any AI harness.
Strong naming and descriptions across all 9 tools. All tools follow verb_noun pattern (get_*, list_*) and have clear, contextual descriptions (avg 180 chars, within 10-1024 baseline). All tools are READ_ONLY with proper ToolAnnotations. Critical gap: NO input schemas visible in source code, all 9 tools show Input: {} with no parameter definitions. This is a hard blocker for schema scoring. Error handling via @tool_errors decorator provides generic recovery guidance but lacks categorization (retryable vs fatal). Output structure inferred from descriptions but not formally documented.
Are you speeding right now, and by how much over the posted limit?
The current delivery job: cargo, route, pay, deadline, and on-time status.
A 0-100 driving score for this session, with the factors dragging it down.
Fuel level, consumption, estimated range, and whether it's enough to reach the routed destination.
Routing status: distance and ETA to the destination, posted limit, and whether you're currently speeding.
Fatigue guidance: how long you've been driving, and whether a break is needed.
Rolling trip totals since the server started: distance, time, speeds, fuel, events.
All 9 tools have Input: {} with no visible parameter schemas. This blocks LLM parameter inference and validation.
Output schemas not documented. Descriptions mention returned fields (speed, gear, fuel, etc.) but no formal schema definition. LLMs cannot plan downstream calls without knowing return structure.
Error handling via @tool_errors decorator returns generic 'Error reading telemetry: {exc}. Check TRUCKSIM_SOURCE configuration.' No error categorization (retryable vs user-fixable vs fatal) or recovery guidance beyond config check.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Current truck state: speed vs limit, engine, gear, cruise, fuel, damage, lights. The one-call "what's happening right now" snapshot. Works with any configured source (mock/http/mmap).
Recent driving events: speeding, harsh braking, collisions, refueling, job changes.
list_recent_events lacks pagination parameters (limit, offset, cursor). No indication of result count limits. Large event logs could blow context window.
Tool descriptions mention telemetry sources (mock/http/mmap) but do not document expected output fields or data types. Agents cannot infer what 'eco_score' returns (0-100 int? float? with factors array?).