A game server for the LLMMO game providing MCP tools for game state management including players, locations, items, entities, and abstract game concepts
The server provides 34 tools with consistent structure and naming conventions. All tools follow verb_noun patterns (resume_game, save_game, create, edit, get, etc.). However, there are significant gaps in schema completeness, parameter descriptions are often generic, and output schemas are not explicitly documented. The foundation is solid but execution is incomplete.
Add an object of given type and ID to the context of an existing abstract in the game context. This allows to link objects for easier reasoning and memory. Returns the abstract with the new context.
Create a new abstract in the game context. Returns created abstract.
Edit an existing abstract in the game context. Returns the edited abstract.
Get an existing abstract in the game context. Returns the abstract's details.
Get all abstracts in the whole game context. Uses a lot of context. Not recommended.
Remove a context from an existing abstract in the game context. Returns the abstract with the removed context.
Create a new entity in the game context. Returns created entity.
Output schemas not documented. No explicit schema definitions for tool return types visible in source. LLMs cannot predict what fields are returned or plan downstream chaining.
Generic parameter descriptions lack format constraints and validation rules. E.g., 'The name of the abstract' does not specify length limits, character restrictions, or uniqueness requirements. Forces LLM to guess at valid ranges.
Tool descriptions are borderline too brief (most 50-100 chars). Lack explicit WHEN/WHY guidance. E.g., 'Get an existing abstract in the game context' does not explain when to call get() vs get_all() or what prerequisites exist.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Edit an existing entity in the game context. Returns the edited entity.
Get an existing entity in the game context. Returns the entity's details.
Get all entities in the whole game context. Uses a lot of context. Not recommended.
Get all entities at a specific location in the game context. Returns a list of entity details.
Create a new item in the game context. Returns created item.
Edit an existing item in the game context. Returns the edited item.
Get an existing item in the game context. Returns the item's details.
Get all items in the whole game context. Uses a lot of context. Not recommended.
Create a new location in the game context. Returns the location's details.
Edit an existing location in the game context. Returns the edited location.
Get an existing location in the game context. Returns the location's details.
Get all locations in the whole game context. Returns a list of location details.
Get all locations in the whole game context. Returns a list of ONLY ID and NAME. Useful for search without spending much context.
Get the current location's details. Returns the location where the current player is.
Add an item to a player's inventory by their ID. Returns the short inventory summary.
Create a new player in the game context. Later this player can be used to interact with the game. This player will be spawned at the given location. You don't need to call get_current after this. Returns created player.
Get a player by their ID. Returns the player's details.
Get all players in the whole game context. Returns a list of player details.
Get the current player's details.
Get the inventory of a player by their ID. Returns a list of item details.
Move a player to a different location by their ID. Returns the player's details.
Remove a quantity of an item from a player's inventory by their ID. Returns the short inventory summary.
Remove an item completely from a player's inventory by their ID. Returns the short inventory summary.
Set the current player by their ID. This player will be used to interact with the game. Returns the player's details.
Get the game setting and previous save summary. Should be called when the user starts a new chat.
Save the game with the given save summary before exiting the chat or just by user request.
Start a new game with the given setting
No error handling guidance visible in descriptions. Tools do not indicate what errors are possible, when to retry, or what recovery steps exist. E.g., does add_item fail if item_id is invalid? Should the agent look it up first?
get_all tools (Abstract/get_all, Entity/get_all, Item/get_all, Location/get_all, Player/get_all) have no pagination support visible. No limit, offset, page, or cursor parameters. Returns could be arbitrarily large.
Destructive tools (Player/remove_item_full) and high-impact writes (save_game, start_game) lack confirmation or dry-run support. Agents could accidentally delete game state.
Tool names use slash notation (Abstract/create, Entity/get). While readable, this is non-standard in most MCP servers. Prefer underscore_naming for consistency (abstract_create, entity_get). Some clients may have issues parsing slash in tool names.
No enum constraints on parameter values. E.g., set_as_current in Player/create is boolean but no enum. Risk/resource category fields (if any) lack defined valid values.