Fantasy Gamebook Engine
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| roll_diceA | Roll a dice expression like '2d6' or '1d6+6'. |
| test_luckA | Test the hero's luck (2d6 <= current luck); always spends one luck. |
| create_characterC | Roll a new hero's attributes and persist a living character sheet. |
| read_character_sheetA | Return the hero's full character sheet. |
| update_character_sheetA | Patch the character sheet. Scalars/lists are replaced; attribute sub-dicts (skill/stamina/luck) are merged. Invariants are validated; on error the state is left unchanged. |
| read_worldA | Return the current world state. |
| update_worldA | Patch the world. Scalars/lists (current_location, visited_locations, known_npcs, turn) are replaced; 'flags' is merged key-wise so one flag can be set without dropping others. Invariants are validated; on error the state is left unchanged. Sole legal path to set the victory flag and advance the turn counter. |
| register_eventC | Append a hard fact to the chronicle, stamped with the current turn. |
| read_eventsA | Return the full chronicle of events, in order. |
| read_summaryB | Return the running narrative summary. |
| update_summaryC | Replace the running narrative summary. |
| start_combatC | Start a fight against one or more living enemies. |
| resolve_combat_roundC | Resolve one combat round, optionally testing luck on the hit. |
| flee_combatC | Flee the combat (if allowed); costs 2 stamina. |
| end_combatC | Conclude a combat and return its final result. |
| archive_characterA | Archive the hero to the graveyard (death) or hall_of_fame (victory). |
| save_progressB | Snapshot all state to a named slot (default 'autosave'). |
| load_progressB | Restore all state from a named slot (default 'autosave'). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Each tool has a clearly distinct purpose. Combat tools (start, end, flee, resolve) are separated; read/update tools target different aspects (character, events, summary, world); and utilities like roll_dice, test_luck, save/load progress are unique.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_character, start_combat, read_world). There is no mixing of conventions or vague verbs.
18 tools is slightly above the typical 3-15 range but still well-scoped for a gamebook engine. The number covers character management, combat, world state, narrative, and progress, without feeling excessive.
The tool set covers core CRUD operations for characters, world, events, and combat lifecycle. One minor gap is the lack of a tool to list available save slots, but essential workflows are supported.