mcpField
H
holonovel

holonovel

Local
github.com/flukeatzerocoolGames & Entertainment0Updated 2d ago

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

  1. 01Model rooms, objects, and exits
  2. 02Manage characters, scenes, and campaign lore
  3. 03Parser command layer and narrative tools
  4. 04Built-in Fate, Ironsworn, and Blades in the Dark mechanics
  5. 05Persistent saves with undo, redo, and audit log

Use cases

  1. 01Track a tabletop RPG campaign world
  2. 02Resolve supported game mechanics during play
  3. 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.

mcp.json · Universal config
{
"mcpServers": {
"flukeatzerocool-holonovel": {
"command": "npx",
"args": [
"-y",
"holonovel"
]
}
}
}
Run commandnpx -y holonovel

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmholonovel2026.10.26

Tools

30

Saved tool list · updated 1d ago

ParameterTypeRequiredDescription
badgeenumYesThe badge to activate: player, game_master, observer, or none (Editor).player | game_master | observer | none

Details

From the project README

holonovel

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:

VariablePurpose
TTRPG_DATA_DIRState directory (default: the per-user data location)
TTRPG_NOVELNovel to activate at startup
TTRPG_SEEDDeterministic PRNG seed
TTRPG_RULESETSRuleset slugs to load eagerly
TTRPG_RULESET_DIRSRuleset install directories
TTRPG_NPC_AUTONOMY, TTRPG_NPC_MINDNPC autonomy behaviors
TTRPG_WORLD_REACTIVITYWorld-in-Motion reactivity (default on)
TTRPG_NARRATION_VALIDATIONNarration grounding validation
TTRPG_GUIDANCE_PROFILEfull 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

Markdown supported

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.