Three tools with clear names and documented schemas, but descriptions lack depth and parameter documentation is incomplete. 'observe' and 'inspect' have generic descriptions under 50 chars; 'act' lacks clarity on state management. Parameters like 'mode', 'kind', and 'args' have minimal guidance. No output schema documented. Error handling returns JSON but lacks recovery guidance. Tool names follow verb_noun pattern (positive), but descriptions do not explain WHEN to use each tool or dependencies between them.
Act once; deterministic rewards and continue steps run automatically.
Fetch detail on demand: map, state, wiki, profile, profiles, compendium, or metrics.
Read game state. mode: delta (smallest), compact, or full.
Descriptions are too brief (10-40 chars) and lack context. 'Read game state' does not explain when to call observe vs inspect, or what 'delta/compact/full' modes mean for token efficiency.
Parameter 'args' in act() is typed as object with no schema, allowing arbitrary keys. LLM cannot infer valid arguments. Should document expected keys per action type or split into typed parameters.
No output schema documented. Callers cannot predict response structure (e.g., does 'observe' return {state, defs, warning} or {error}?). LLM must infer from examples.
Error responses lack recovery guidance. 'Cannot connect to STS2MCP' tells agent nothing about retry strategy or next steps. Should include actionable guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Parameter 'kind' in inspect() accepts 7 different values but no enum constraint. Free-form string invites hallucinated values like 'inventory' or 'stats'.