MCP server providing NPC action and perception tools for game integration, plus weather alerts and forecast capabilities
Server has 6 tools with basic schemas and descriptions, but significant gaps limit production readiness. Weather tools (get-alerts, get-forecast) have proper Zod schemas with constraints and descriptions. NPC tools lack visible schema definitions in provided code, only inferred from parameter lists. Descriptions are present but generic (10-50 chars for most NPC tools), below the 50-200 char baseline for LLM optimization. No error handling guidance, no output schema documentation, no tool annotations. Tool composition is reasonable (single responsibility), but parameter naming lacks consistency (npcId vs state). No evidence of pagination, batching, or idempotent operation patterns.
Get weather alerts for a state
Get weather forecast for a location
Gets the current status of a specific NPC (health, position, current goal, etc.).
Commands a specific NPC to interact with a target object or entity.
Gets a list of objects and entities visible to a specific NPC within a certain range.
Commands a specific NPC to move to a target position {x, y, z}.
NPC tool schemas not visible in source code, only parameter lists inferred. Cannot verify JSON Schema structure, type definitions, or constraints.
NPC tool descriptions are 20-50 characters, below 50-char minimum for LLM optimization. 'Commands a specific NPC to move to a target position {x, y, z}.' lacks context on when to use, what happens, and prerequisites. Weather tools similarly brief.
No output schema documentation. Tools return text or objects, but LLM cannot predict structure. Weather tools return formatted text; NPC tools return unspecified objects. Per pattern, all tools must document return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery hints (e.g., 'If NPC not found, call npc-list-all first'). Per pattern, errors must guide LLM's next step.
Destructive tools (npc-move-to, npc-interact-with) lack confirmation or dry-run support. No idempotent hints. Per pattern, irreversible operations should support confirmation to prevent agent mistakes.