About holonovel
holonovel is a world-model MCP server for tabletop RPG sessions, for groups that want structured campaign state and rules-aware play. It combines a parser, narrative tools, persistent saves, and built-in mechanics, while allowing additional ruleset packages.
Key features
- 01Model rooms, objects, and exits
- 02Manage characters, scenes, and campaign lore
- 03Parser command layer and narrative tools
- 04Built-in Fate, Ironsworn, and Blades in the Dark mechanics
- 05Persistent saves with undo, redo, and audit log
Use cases
- 01Track a tabletop RPG campaign world
- 02Resolve supported game mechanics during play
- 03Keep campaign notes and events across sessions
MCP support
Exposes 36 action-discriminator tools to MCP clients for world entities, parser commands, campaign workflow, narrative content, and built-in mechanics. Ruleset packages can be loaded alongside the base server.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
30Saved tool list · updated 1d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| badge | enum | Yes | The badge to activate: player, game_master, observer, or none (Editor).player | game_master | observer | none |
Details
From the project READMEholonovel
The Holodeck for your rulebooks — rules enforced, worlds remembered.
A world-model MCP server for tabletop RPG play: rooms, things, exits, a parser command layer, and narrative tools, with out-of-the-box mechanics from Fate, Ironsworn, and Blades in the Dark (Fudge dice, momentum, and stress tracks — no ruleset required). Install it, then drop in any number of ruleset packages; each loads alongside the base and never modifies it.
Requirements
- Node.js 22+
Install
npx -y holonovel
From a source checkout, run npm install and npm run start.
MCP client configuration
"holonovel": {
"type": "local",
"command": ["npx", "-y", "holonovel"],
"enabled": true
}
Data
A Novel is a structured save file with atomic saves, per-badge undo/redo
snapshots, and an append-only audit log. By default the state directory is the
operating system's user-data location: ~/.local/share/holonovel on Linux,
~/Library/Application Support/holonovel on macOS, or
%LOCALAPPDATA%\holonovel on Windows. Set TTRPG_DATA_DIR to override it. An
existing .holonovel-state/ beside the server is honored for compatibility.
Campaign data and installed packages live under the state directory, outside the server tree, so updating holonovel never touches them.
Tool surface
The host exposes 36 action-discriminator tools covering persisted entity
types, the parser command layer, and base-mechanics resolvers. Retired tool
aliases are hidden from the default listing. Every tool carries all four MCP
mutation-class hints and a three-clause description (see AGENTS.md for the
full surface and the tool-definition authoring standard).
Categories:
- Badges & Workflow — badge switching, workflow response, undo/redo
- Characters & Cast — player characters, NPCs, identity, beliefs
- World & Scene — world model, scene framing, perception, causal state
- Narrative — story journal, lore, notes, vows, factions, countdowns
- Session — recap, health, discovery, event log, audit
- Mechanics — Fate, Ironsworn, and Forged in the Dark resolvers
- Content — adventures, codex, ruleset packages, synthesis
Configuration
Behavioral switches read from the environment; every switch is inert by default. Common values:
| Variable | Purpose |
|---|---|
TTRPG_DATA_DIR | State directory (default: the per-user data location) |
TTRPG_NOVEL | Novel to activate at startup |
TTRPG_SEED | Deterministic PRNG seed |
TTRPG_RULESETS | Ruleset slugs to load eagerly |
TTRPG_RULESET_DIRS | Ruleset install directories |
TTRPG_NPC_AUTONOMY, TTRPG_NPC_MIND | NPC autonomy behaviors |
TTRPG_WORLD_REACTIVITY | World-in-Motion reactivity (default on) |
TTRPG_NARRATION_VALIDATION | Narration grounding validation |
TTRPG_GUIDANCE_PROFILE | full or lean guidance |
Development
npm run typecheck # TypeScript type checking
npm run test:all # verification harnesses
Tests are tsx harnesses under scripts/ (there is no test/ directory).
License
MIT. See LICENSE.md.
Bundled mechanics and Ruleset Wisdom are built from:
- D&D 5e SRD v5.1 (CC BY 4.0 + OGL 1.0a, Wizards of the Coast)
- Graham Nelson's Inform (Artistic License 2.0, Graham Nelson)
- if-craft-corpus (CC BY 4.0, pvliesdonk)
- dmcp (MIT, Shawn Rushefsky)
- lonelog (CC BY-SA 4.0, zeruhur)
- BitD SRD (CC BY 3.0, John Harper)
- Ironsworn: Starforged SRD (CC BY 4.0, Shawn Tomkin)
- Sly Flourish Lazy GM Resource Document (CC BY 4.0, Mike Shea)
- The Alexandrian (CC BY 4.0, Justin Alexander)
- Dungeon World SRD (CC BY 3.0, Sage LaTorra, Adam Koebel)
- Fate SRD (CC BY 3.0, Evil Hat Productions)
- Ironsworn SRD (CC BY 4.0, Shawn Tomkin)
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.