An inhabitable interactive fiction world over the Model Context Protocol. Agents arrive by water at the seawall, move between places, talk to people, and perform work. State is held in memory only; no logging, no network calls, no tracking.
This STDIO-only MCP server has 8 tools with minimal schema documentation and weak descriptions. Most tools lack parameter type definitions in visible schemas. Descriptions are present but generic (10-50 chars), falling below the 50-200 char baseline for LLM-optimized docs. No input validation guidance, error recovery hints, or output schema documentation visible. Tool names are reasonable (verb-noun style: look, go, talk_to, do, work, map, where, join) but parameter descriptions are sparse. The server is a narrative game interface, not a production API, which explains the informal structure, but even game tools need clear schemas for agent reasoning.
Perform an action or activity at the current location. Returns the outcome of the action.
Move from the current place to an adjacent place by name. Returns the sensory description of the new location.
Join the world as a participant. Returns information about joining and available roles.
Sensory arrival text describing the current place in detail, including sights, sounds, and available exits.
Display the map of all places in the world and their connections.
Initiate dialogue with a named character at the current location. Returns the character's response.
Report the current location and available exits.
Generic tool descriptions lack LLM-optimized context. Most descriptions are 30-50 chars; baseline is 50-200 chars. E.g., 'do' is described as 'Perform an action or activity at the current location. Returns the outcome of the action.', does not explain WHEN to use it vs other tools, what actions are valid, or what 'outcome' structure looks like.
Parameter schemas lack type definitions and constraints. 'place' in 'go' is typed as string but has no enum of valid destinations, no format hint, and no guidance on how to discover valid place names. LLMs will hallucinate invalid place names.
No output schema documentation. Tools return 'sensory description' or 'outcome' as free-text strings. LLMs cannot plan downstream calls or extract structured data. E.g., does 'go' return the new location name, available exits, and NPCs present? Unknown.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Take on a shift of work at the current location. Returns the work assignment and its outcome.
No error handling guidance. If 'go' is called with an invalid place name, what error is returned? Can the agent retry? Should it call 'map' first? No recovery hints provided.
Tool 'do' has an ambiguous name and vague description. 'do' + 'action' parameter is too generic, does not convey what actions are valid or what the tool's scope is. Violates verb_noun clarity principle. Should be 'perform_action' or 'attempt_activity' with an enum of valid actions.