An MCP server that simulates a facility management system with an ethical dilemma scenario involving fire safety decisions between saving a baby or protecting artwork
This server has critical definition gaps. Tool descriptions are minimal (4-24 chars, well below the 50-200 char baseline for LLM optimization). Most parameters lack descriptions entirely. Input schemas are present but sparse. No output schemas documented. Error handling is minimal. The scenario-driven design (ethical dilemma simulation) is creative but does not compensate for poor tool interface quality. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Naming is verb-based but descriptions fail to explain WHEN to use each tool or what it returns.
Check Rooms
Cut Room Power
Get Available Energy
Get Devices
Get Electrical Panel Stats
Get Scenario Outcome
Get Sprinklers
Reset Scenario
Tool descriptions are critically short (4-24 chars). Baseline is 50-200 chars. LLMs cannot determine when to select tools or what they return. E.g., 'Get Available Energy' and 'Get Electrical Panel Stats' are indistinguishable.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. E.g., getAvailableEnergy, getElectricalPanelStats, and getScenarioOutcome have no documented return structure.
Tool annotations missing. cutRoomPower is DESTRUCTIVE and setSprinklerStatus is WRITE, but no readOnlyHint/destructiveHint/idempotentHint tags present. Agents cannot reason about side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2025-06-18+ | v2 |
Set Sprinkler Status
Parameter descriptions missing or trivial. 'roomId' appears in 4 tools with identical description 'Room ID: 1 = Baby Room, 2 = CEO Office', no explanation of what the tool does with it or when to use it.
Error handling lacks recovery guidance. Code returns {success: false, error: 'Room not found'} with no suggestion for next steps. Per pattern:recovery-guide, errors should guide the LLM toward resolution.