io.github.flukeatzerocool/holonovel
NPM · HOLONOVEL · SCANNED SEP 20
Holonovel MCP server: world-model base for tabletop RPG play (rooms, parser, narrative tools).
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to flukeatzerocool/holonovel). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 9 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability53
- 14% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 6095 tokens (~103/item across 59 items; 28 tools + 31 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability check failed: the tool surface changed between 2026.8.22 and 2026.9.7: 109 tool removals, 0 breaking changes, 22 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "command" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.flukeatzerocool/holonovel MCP server?
io.github.flukeatzerocool/holonovel runs locally as an npm package, launched with npx -y holonovel. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · holonovel
claude mcp add flukeatzerocool-holonovel -- npx -y holonovel
{
"mcpServers": {
"flukeatzerocool-holonovel": {
"command": "npx",
"args": [
"-y",
"holonovel"
]
}
}
} {
"servers": {
"flukeatzerocool-holonovel": {
"command": "npx",
"args": [
"-y",
"holonovel"
]
}
}
} codex mcp add flukeatzerocool-holonovel -- npx -y holonovel
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"flukeatzerocool-holonovel": {
"type": "local",
"command": [
"npx",
"-y",
"holonovel"
],
"enabled": true
}
}
} openclaw mcp add flukeatzerocool-holonovel --command npx --arg -y --arg holonovel
mcp_servers:
flukeatzerocool-holonovel:
command: "npx"
args: ["-y", "holonovel"] {
"McpServers": {
"flukeatzerocool-holonovel": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"holonovel"
]
}
}
} assistant mcp add flukeatzerocool-holonovel -t stdio -c npx -a -y holonovel
{
"mcpServers": {
"flukeatzerocool-holonovel": {
"command": "npx",
"args": [
"-y",
"holonovel"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 7 Sept 26 0
- Stability: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Schema quality: 14 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Package version: 2026.9.4 → 2026.9.7 functional
- 4 Sept 26 +15
- Stability: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Capabilities: pass → unverified ▼ functional
- Schema quality: 14 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: pass → fail ▼ functional
- Package version: 2026.9.3 → 2026.9.4 functional
- 3 Sept 26 +6
- Malware scan: unverified → pass ▲ security
- Known CVEs: unverified → pass ▲ security
- Schema quality: 67 → 91 ▼ functional
- Dependency health: unverified → 0.85 ▲ functional
- Schema quality: excellent → good functional
- Package version: 2026.9.2 → 2026.9.3 functional
- 2 Sept 26 −10
- Malware scan: pass → unverified ▼ security
- Known CVEs: pass → unverified ▼ security
- Stability: 0.27 → fail ▼ security
- Provenance: fail → pass ▲ security
- The attested source repository moved: flukeatzerocool/holonovel security
- Schema quality: 33 → 67 ▼ functional
- Dependency health: 0.85 → unverified ▼ functional
- Tool coverage: 0% → 100% ▲ functional
- Schema quality: fair → excellent functional
- Package version: 2026.8.22 → 2026.9.2 functional
- 1 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Aug 26 +3
- Stability: unverified → 0.23 ▲ functional
- 26 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +15
- Malware scan: unverified → pass ▲ security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/holonovel@2026.9.7
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | flukeatzerocool/holonovel |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/flukeatzerocool/holonovel/.github/workflows/publish.yml@refs/heads/main |
| Rekor log index | 2752837545 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:e49d60fa4ecfbd0274d11109799c74ae62d5ab5d2c93e37c2859403d162fe8345d2b8810585c539da3246544dd79c9d5ad39b0d035d56da3739776215 |
Background: How many MCP packages publish verified provenance →
Dependencies 95 packages
| Packages resolved | 95 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
adventure Adventure ~136
Generate, load, or list adventure content. Use when: the GM wants a new adventure scaffold, a single encounter, or to load a prepared module. Do NOT use when: recording a story beat — use story (action: record).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | generate, generate_encounter, load, or list. |
| context | string | – | Scene context (generate_encounter). |
| filter | string | – | Optional genre filter (list). |
| premise | string | – | Adventure premise (generate). |
| slug | string | – | Adventure module slug (load). |
| target | string | – | novel, codex, or both (generate). |
No output schema declared.
No examples provided.
character Character ~406
Manage player characters: create (quick or step-by-step), stage to roster, import, render a sheet, set the active entity, set personality/voice, send player signals, remove, or list roster characters. Use when: working with player characters. Do NOT use when: managing NPCs — use npc.
| Name | Type | Req | Description |
|---|---|---|---|
| ability_scores | – | – | Ability scores (create). |
| action | string | yes | create, stage, import, sheet, set_active, personality, voice, signal, remove, roster_remove, or roster_list. |
| background | string | – | Backstory (create/personality). |
| classes | – | – | Class levels (create). |
| description | string | – | Narrative description (create/personality). |
| details | object | – | Grouped mechanical details (create). |
| entity_id | string | – | Entity identifier (stage/sheet/set_active/personality/voice/remove). |
| equipment | – | – | Starting equipment (create). |
| examples | array | – | Voice examples (voice). |
| feats | – | – | Feats (create). |
| format | string | – | Output format (sheet). |
| goals | string | – | Character goals (create/personality). |
| name | string | – | Character name; omit (create) to begin step-by-step. |
| personality | object | – | Grouped personality fields (create). |
| pov | string | – | Point-of-view mode (set_active). |
| roster_id | string | – | Roster identifier (import/roster_remove). |
| seed | string | – | Deterministic seed (create). |
| signal | string | – | Feedback category (signal). |
| skills | – | – | Trained skills (create). |
| species | string | – | Species (create). |
| stage_to_roster | boolean | – | Also stage into the roster (create). |
| stat_method | string | – | Stat-generation method (create). |
| talents | – | – | Talents (create). |
| value | string | – | Feedback text (signal). |
| voice | string | – | Voice and speech pattern (create/personality). |
No output schema declared.
No examples provided.
codex Codex ~234
Manage the cross-Novels codex library of reusable content (NPCs, factions, rooms, spells, adventures, voice profiles). Use when: storing reusable content for later import, or enumerating/reading/deleting it. Do NOT use when: storing Novel-scoped content — use lore (action: set) or note (action: set).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | set (create/update), list, get, capture (voice profile), import (into active Novel), or delete. |
| content | – | – | Entry content (for set). |
| description | string | – | Optional description (for set). |
| entity_id | string | – | Entity whose voice to capture (for capture). |
| entry_id | string | – | Entry identifier (for get/import/delete). |
| kind | string | – | Entry kind (for set/list/capture). |
| name | string | – | Entry name (for set). |
| tags | array | – | Optional tags (for set). |
| update_source | boolean | – | When true, update the source entity too (for capture). |
| visibility | string | – | library, shared, or private (for set). |
No output schema declared.
No examples provided.
combat Combat ~142
Manage combat encounters in the active Novel. Use when: starting, advancing, ending a fight, or changing its participants. Do NOT use when: applying a status effect — use condition (action: apply).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | init, advance, end, add_participant, remove_participant, or status. |
| dangers | array | – | Optional non-entity combatants (init). |
| outcome | string | – | Optional text describing how combat ended (end). |
| participant_id | string | – | Entity identifier (add_participant/remove_participant). |
| participants | array | – | Entity identifiers participating (init). |
| seed | string | – | Optional deterministic seed (init). |
No output schema declared.
No examples provided.
command Command ~150
Execute a parser command, resolve a spatial intent, or suggest actions from intent. Use when: a player or narrator takes a physical action (execute), needs the outcome of a movement without mutating state (resolve), or wants intent mapped to tool calls (suggest). Do NOT use when: the GM inspects the model directly — use world or lore.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | execute (parser), resolve (non-mutating intent), or suggest (intent → tool calls). Defaults to execute. |
| command | string | – | The natural-language command (execute). |
| entity_id | string | – | Optional entity context (suggest). |
| intent | string | – | The intent to resolve or map (resolve/suggest). |
No output schema declared.
No examples provided.
condition Condition ~100
Manage mechanical or narrative conditions on entities. Use when: applying, removing, or listing conditions. Do NOT use when: recording damage or combat state — use combat (action: init/advance).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | apply, remove, or list. |
| condition | string | – | The condition name (apply/remove). |
| entity_id | string | – | The entity to affect (apply/remove). |
| rounds | number | – | Optional duration in rounds (apply). |
No output schema declared.
No examples provided.
countdown Countdown ~176
Manage countdown timers in the active Novel. Use when: starting, advancing, removing, or listing clocks. Do NOT use when: tracking a vow's progress — use vow (action: milestone).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | set, advance, remove, or list. |
| direction | string | – | Optional direction: increment or decrement (set). |
| name | string | – | Countdown name (set/advance/remove). |
| on_scene_transition | boolean | – | When true, advance on each scene transition (set). |
| scope | string | – | Optional scope name (set). |
| ticks | number | – | Starting ticks (set). |
| triggers | array | – | Optional world-model triggers (set). |
| type | string | – | round or narrative (set). |
| world_effect | object | – | Optional world-model effect applied when the countdown fires (set). |
No output schema declared.
No examples provided.
faction Faction ~130
Manage organizations in the active Novel. Use when: creating, revising, removing, or listing factions and their progress clocks. Do NOT use when: tracking a faction's territory rooms — use world (action: create_room).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | create, update, remove, or list. |
| description | string | – | Optional description. |
| faction_id | string | – | Faction identifier (update/remove). |
| goals | array | – | Optional goals. |
| name | string | – | Faction name (create). |
| resources | string | – | Optional resources. |
| territory | array | – | Optional territory names. |
No output schema declared.
No examples provided.
fate Fate ~361
Resolve Fate-style actions with Fudge dice, aspects, Fate points, and stress. Use when: rolling 4dF against a difficulty, invoking or compelling aspects, spending or refreshing Fate points, or marking stress and consequences. Do NOT use when: resolving a d20 skill check — use the bound ruleset's roll tools or command (action: resolve).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | roll, aspect, fate_point, or stress. |
| amount | number | – | Fate points to spend or grant (fate_point); defaults to 1. |
| consequence | string | – | Consequence to record or clear (stress). |
| dice | string | – | Fudge dice notation (roll), e.g. '4dF'; defaults to 4dF. |
| difficulty | number | – | Opposition to beat (roll); defaults to 0. |
| entity_id | string | – | Entity or NPC id (aspect/fate_point/stress). |
| modifier | number | – | Skill rating added to the roll (roll). |
| name | string | – | Aspect name (aspect); consequence label (stress). |
| op | string | – | Sub-operation: aspect (create, invoke, compel, remove, list), fate_point (spend, grant, refresh, list), or stress (mark, clear, list). |
| seed | string | – | Deterministic seed (roll). |
| shifts | number | – | Shifts to mark on a stress track (stress); defaults to 1. |
| skill | string | – | Skill name for the roll label (roll). |
| target | string | – | Aspect target: 'scene' or an entity/NPC id (aspect); defaults to 'scene'. |
| track | string | – | Stress track to mark or clear (stress). |
No output schema declared.
No examples provided.
forged Forged in the Dark ~252
Resolve Blades in the Dark-style actions: action rolls with position and effect, stress and trauma with resistance, and downtime recovery. Use when: rolling an action against the highest die, marking or resisting stress, or recovering during downtime. Do NOT use when: tracking a progress clock — use countdown (action: set).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | action_roll, stress, or downtime. |
| amount | number | – | Stress to mark or clear (stress/downtime); defaults to 1. |
| cost | number | – | Stress cost to resist (stress); defaults to 2. |
| dice | number | – | Dice pool size (action_roll); defaults to 2. |
| effect | string | – | Effect (action_roll); defaults to standard. |
| entity_id | string | – | Entity or NPC id (stress/downtime). |
| name | string | – | Action name (action_roll) or consequence label (stress resist). |
| op | string | – | Sub-operation: stress (mark, clear, resist, list), downtime (recover, indulge_vice, list). |
| position | string | – | Position (action_roll); defaults to risky. |
| seed | string | – | Deterministic seed (action_roll). |
No output schema declared.
No examples provided.
help Help and Tool Discovery ~148
Show the available tools grouped by category (badge-filtered) or reassign a tool's category. Use when: the caller needs to discover tools, find one by keyword, or override a tool's category for a session. Do NOT use when: reading the current badge's guidance — use the badge_briefing prompt.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | list (default) or category (reassign a tool's category). |
| category | string|null | – | New category label, or null/empty to restore default (category). |
| query | string | – | Optional search term matched against tool name, description, and title. |
| tool_name | string | – | Registered tool name to reassign (category). |
No output schema declared.
No examples provided.
ironsworn Ironsworn ~248
Resolve Ironsworn-style actions: momentum, the action-roll move framework, and progress tracks. Use when: setting or burning momentum, rolling a move against two challenge dice, or marking and testing a progress track. Do NOT use when: managing vows — use vow (action: set).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | momentum, move, or progress. |
| adds | number | – | Stat and bonuses added to the action die (move). |
| amount | number | – | Amount to set/gain/lose (momentum); defaults to 1. |
| burn | boolean | – | Burn momentum to replace the action score (move). |
| entity_id | string | – | Entity or NPC id (momentum, move burn). |
| name | string | – | Move name (move) or progress-track name (progress). |
| op | string | – | Sub-operation: momentum (set, gain, lose, reset, list), progress (create, mark, test, list). |
| rank | string | – | Progress-track rank (progress). |
| seed | string | – | Deterministic seed (move, progress test). |
| ticks | number | – | Progress to mark (progress); defaults to 1. |
No output schema declared.
No examples provided.
lore Lore ~283
Manage the active Novel's lore entries (world facts the narrator recalls). Use when: creating, revising, removing, toggling, grouping, suggesting, listing, exporting, or importing lore. Do NOT use when: recording a story beat — use story (action: record).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | set, update, remove, toggle, group, suggest, list, get, export, import, set_secret, reveal, secret_list, or knowledge. |
| badge_scope | string | – | game_master or shared (set/update). |
| content | string | – | Lore content (set/update). |
| data | string | – | JSON or Markdown lorebook data (import). |
| entity_id | string | – | Entity to reveal to / whose knowledge to read (reveal/knowledge). |
| format | string | – | Optional output format (export). |
| group | string|null | – | Group name, or null to clear (set/update/group). |
| key | string | – | Lore key (set/update/remove/toggle/group/get). |
| mode | string | – | dry-run, merge, or replace (import). |
| priority | number | – | Optional priority (set/update). |
| sticky | number | – | Optional sticky weight (set/update). |
| triggers | array | – | Optional recall triggers (set/update). |
| world_target | string | – | Optional world-model target reference (set/set_secret). |
No output schema declared.
No examples provided.
note Note ~140
Manage Novel-scoped scratch notes, badge-scoped to game_master (default), player, or shared. Use when: storing scratch state the caller will reuse. Do NOT use when: recording durable world facts — use lore (action: set).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | set, remove, list, set_server, remove_server, or list_server. |
| badge_scope | string | – | game_master, player, or shared (set). |
| content | string | – | The note content (set/set_server). |
| key | string | – | The note key (set/remove/set_server/remove_server). |
| narrative_tag | string | – | Optional narrative tag (set_server). |
No output schema declared.
No examples provided.
novel Novel ~472
Manage Novel save files: create, resume, switch, end, export, import, rename, describe, list, archive, unarchive, info, genre, clone, save_context, get_context, or checkpoint. Use when: handling a campaign's lifecycle, interchange, or return points. Do NOT use when: managing content inside the Novel — use the entity tools (npc, lore, faction, vow, story, note, etc.).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | create, resume, switch, end, export, import, rename, description, list, archive, unarchive, info, genre, clone, save_context, get_context, checkpoint_set, checkpoint_list, checkpoint_restore, or chec… |
| codex_adventure | string | – | Codex adventure to seed from (create). |
| current_scene | string | – | Current-scene summary (save_context). |
| data | string | – | Exported Novel JSON (import). |
| description | string | – | Description (create/description). |
| detail | boolean | – | Return full metadata (list). |
| filter | string | – | active, archived, or all (list). |
| format | string | – | Output format (export). |
| genre | string | – | Genre tag (create/genre). |
| immediate_situation | string | – | Immediate situation (save_context). |
| label | string | – | Checkpoint label (checkpoint_set/list/restore/remove). |
| long_term_plans | string | – | Long-term plans (save_context). |
| mode | string | – | dry-run, merge, or replace (import). |
| name | string | – | Novel name (create). |
| new_name | string | – | Name for the copy (clone). |
| new_slug | string | – | New slug (rename). |
| pending_player_action | string | – | Pending player action (save_context). |
| player_goals | string | – | Player goals (save_context). |
| ruleset | string | – | Ruleset slug (create). |
| scope | string | – | Export scope (export). |
| short_term_plans | string | – | Short-term plans (save_context). |
| slug | string | – | Novel slug (resume/switch/archive/unarchive/info). |
| source_slug | string | – | Novel to copy (clone). |
| strict | boolean | – | Fail on any cross-reference mismatch (import). |
No output schema declared.
No examples provided.
npc NPC ~162
Manage non-player characters in the active Novel. Use when: introducing, revising, removing, listing, or reading NPCs. Do NOT use when: managing player characters — use character (action: create/import/sheet).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | create, update, remove, list, or get. |
| description | string | – | Optional description. |
| disposition | string | – | Optional disposition. |
| goals | string | – | Optional goals. |
| location | string | – | Optional location. |
| mind | object | – | Optional GM-only NPC mind (create/update). |
| name | string | – | NPC name (create). |
| npc_id | string | – | NPC identifier (update/remove/get). |
| ruleset_reference | string | – | Optional ruleset stat-block reference (create). |
No output schema declared.
No examples provided.
redo Redo ~55
Re-apply the most recently undone mutation, restoring the per-badge snapshot that undo removed. Use when: an undo was issued by mistake and the change should be restored. Do NOT use when: reverting a new change — use undo.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
relationship Relationship ~131
Manage directed relationships between entities, NPCs, or factions. Use when: setting or reading how two parties relate. Do NOT use when: tracking faction progress — use faction (action: update).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | set or get. |
| description | string | – | Optional description (set). |
| entity_a | string | – | The source entity (set). |
| entity_b | string | – | The target entity (set). |
| entity_id | string | – | Entity whose relationships to list (get). |
| type | string | – | Relationship type (set). |
| value | number | – | Optional relationship strength (set). |
No output schema declared.
No examples provided.
respond Respond to Workflow Decision ~104
Answer a pending workflow decision, atomically draining it and persisting the outcome to the Novel. Use when: the server emitted a [NEED_INPUT] prompt and the caller must choose. Do NOT use when: no decision is pending — use set_badge or a state tool instead.
| Name | Type | Req | Description |
|---|---|---|---|
| decision | string | yes | The canonical decision text the workflow is waiting on. |
| option | string | yes | The chosen option, or 'cancel' to abort the workflow and restore its snapshot. |
No output schema declared.
No examples provided.
ruleset Ruleset ~251
Manage ruleset packages: search a bound ruleset's index, install or remove a package, list installed packages, bind a Novel to a ruleset, or roll on a generation table. Use when: searching rules content, installing/removing/listing packages, binding a Novel, or rolling a table (roll). Do NOT use when: the Novel is ruleset-free — use command (action: suggest) or session (action: health). install/remove mutate installed-package state and are audited; search and roll are read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | search, install, remove, list, bind, or roll. |
| index | – | – | Search index (install). |
| manifest | – | – | Package manifest (install). |
| max_results | number | – | Maximum results (search). |
| model | – | – | Extraction model (install). |
| prompts | – | – | Prompts (install). |
| query | string | – | Search query (search). |
| resources | – | – | Resources (install). |
| seed | string | – | Deterministic seed (roll). |
| slug | string | – | Ruleset slug (install/remove/bind). |
| table | string | – | Generation table to roll on (roll). |
| tools | – | – | Tool schemas (install). |
No output schema declared.
No examples provided.
scene Scene ~367
Manage the active scene and its narrative framing. Use when: setting scene state (description, location, type), the narrative directive, party presence, AI autonomy, or when offering choices or resolving an oracle roll. Do NOT use when: recording a story beat — use story (action: record).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | set, directive, presence, autonomy, choices, or oracle. |
| adventure_scene | string|null | – | Adventure-scene waypoint anchor; empty or null clears (set). |
| allow_freeform | boolean | – | Allow free-form response (choices). |
| atmosphere | string | – | Atmosphere (set). |
| beat | string | – | Story-beat tag (set). |
| choices | array | – | List of choices (choices). |
| confirmation | string | – | Confirmation mode (autonomy). |
| context | object | – | Context for the choice (choices). |
| creativity | string | – | Creativity (autonomy). |
| description | string | – | Scene description (set). |
| directive | string | – | Narrative directive (directive). |
| entity_ids | array | – | Entities present (presence). |
| fast_forward | object | – | Narrative fast-forward (set). |
| level | string | – | Autonomy level (autonomy). |
| likelihood | string | – | Likelihood tier (oracle). |
| location | string | – | Scene location (set). |
| prompt | string | – | Choice prompt (choices). |
| question | string | – | Question to resolve (oracle). |
| safety | string | – | Safety tier (autonomy). |
| scene_type | – | – | Scene-type tag or array (set). |
| seed | string | – | Deterministic seed (oracle). |
| skip_transition_hook | boolean | – | Skip the scene-transition hook (set). |
| time_of_day | string | – | Time of day (set). |
No output schema declared.
No examples provided.
session Session ~169
Manage session-level surfaces and diagnostics. Use when: recapping recent activity (recap), setting output verbosity (verbosity), reordering briefing sections (briefing_order), compressing the audit log (compress), or reporting server health (health). Do NOT use when: recording story content — use story (action: record).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | recap, verbosity, briefing_order, compress, health, or subscribe. |
| gm_notes | string | – | GM-only free-text notes returned only to the Game Master badge (recap). |
| max_entries | number | – | Maximum audit entries (compress). |
| mode | string | – | normal or terse (verbosity). |
| sections | array | – | Ordered list of briefing sections (briefing_order). |
| topics | array | – | Notification topics to subscribe to (subscribe). |
No output schema declared.
No examples provided.
set_badge Set Active Badge ~91
Switch the active badge to player, game_master, observer, or none (Editor), gating tool access server-side for the session; always callable. Use when: entering the story, spectating, or stepping away to edit. Do NOT use when: answering a pending workflow decision — use respond.
| Name | Type | Req | Description |
|---|---|---|---|
| badge | string | yes | The badge to activate: player, game_master, observer, or none (Editor). |
No output schema declared.
No examples provided.
story Story ~167
Manage the story journal — typed narrative memories (decision, moment, revelation, bond, consequence). Use when: recording, editing, removing, listing, or promoting story beats. Do NOT use when: recording a durable world fact — use lore (action: set).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | record, update, remove, list, or promote. |
| entry | string | – | Story entry text (record/update). |
| filter | string | – | Optional type filter (list). |
| index | number | – | Story entry index (update/remove/promote). |
| key | string | – | Optional lore key (promote). |
| limit | number | – | Optional page size (list). |
| offset | number | – | Optional pagination offset (list). |
| type | string | – | Story entry type (record/update). |
No output schema declared.
No examples provided.
synthesis Synthesis ~218
Manage synthesis content (voice examples, lore templates, action patterns, and other Ruleset Wisdom). Use when: running, reverting, listing, activating, deactivating, toggling, or player-authoring synthesis items. Do NOT use when: browsing the codex — use codex (action: list).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | run, revert, list, activate, deactivate, toggle, toggle_action, player_add, player_remove, or player_list. |
| badge_scope | string | – | shared or player (player_add). |
| content | string | – | Item content (player_add). |
| detail | boolean | – | Return full entries (list). |
| enabled | boolean | – | Enable or disable (toggle). |
| force | boolean | – | Re-run even if unchanged (run). |
| key | string|number | – | Item key (activate: number; player_add/player_remove: string). |
| module | string | – | Synthesis module (activate/deactivate/toggle/player_*/list). |
| triggers | array | – | Recall triggers (player_add). |
No output schema declared.
No examples provided.
undo Undo ~47
Undo the most recent state mutation, restoring the prior per-badge snapshot. Use when: reverting a mistaken or unwanted change. Do NOT use when: re-applying an undone change — use redo.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
vow Vow ~199
Track narrative vows, quests, and obligations with milestones. Use when: setting, advancing, resolving, forsaking, or listing vows. Do NOT use when: starting a clock timer — use countdown (action: set).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | set, milestone, resolve, forsake, or list. |
| consequences | string | – | Optional consequences (resolve). |
| description | string | – | Vow description (set). |
| difficulty | string | – | troublesome, dangerous, formidable, extreme, or epic (set). |
| name | string | – | Vow name (set). |
| outcome | string | – | The resolution outcome (resolve). |
| parties | array | – | Parties bound by the vow (set). |
| reason | string | – | The reason for abandoning (forsake). |
| scope | string | – | gm, shared, faction, or party (set). |
| vow_name | string | – | Vow name (milestone/resolve/forsake). |
No output schema declared.
No examples provided.
world World ~574
Manage the world model — rooms, things, and exits. Use when: creating, updating, removing, or bulk-converting locations and objects. Do NOT use when: navigating the world — use command (action: execute) or command (action: resolve).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | create_room, update_room, remove_room, create_thing, update_thing, remove_thing, create_exit, remove_exit, convert, or generate. |
| climbable | boolean | – | When true the thing can be climbed (create_thing/update_thing). |
| description | string | – | Optional description (create/update). |
| direction | string | – | Direction (create_exit/remove_exit). |
| drinkable | boolean | – | When true the thing can be drunk (create_thing/update_thing). |
| edible | boolean | – | When true the thing can be eaten (create_thing/update_thing). |
| enterable | boolean | – | When true the thing can be entered (create_thing/update_thing). |
| fixed | boolean | – | When true the thing cannot be taken (create_thing/update_thing). |
| kind | string | – | Optional thing kind (create_thing). |
| lit | boolean | – | When true the thing is lit (create_thing/update_thing). |
| location | string | – | Optional containing room or thing (create_thing/update_thing). |
| location_type | string | – | Where the thing is placed (create_thing). |
| lockable | boolean | – | When true the thing can be locked (create_thing/update_thing). |
| locked | boolean | – | When true the thing starts locked (create_thing/update_thing). |
| name | string | – | Room/thing name (create/update/remove). |
| openable | boolean | – | When true the thing can be opened (create_thing/update_thing). |
| read_text | string | – | Text revealed when the thing is read (create_thing/update_thing). |
| readable | boolean | – | When true the thing can be read (create_thing/update_thing). |
| room | string | – | Source room (create_exit/remove_exit). |
| room_a | string | – | Source room (create_exit). |
| room_b | string | – | Destination room (create_exit). |
| seed | string | – | Deterministic seed (generate). |
| source | string | – | Hybrid world-model source text (convert). |
| switchable | boolean | – | When true the thing can be switched (create_thing/update_thing). |
| switched_on | boolean | – | When true the thing is switched on (create_thing/update_thing). |
| transparent | boolean | – | When true the thing is transparent (create_thing/update_thing). |
| wearable | boolean | – | When true the thing can be worn (create_thing/update_thing). |
No output schema declared.
No examples provided.
What is the io.github.flukeatzerocool/holonovel MCP server?
io.github.flukeatzerocool/holonovel is an MCP server listed in the public MCP registry as io.github.flukeatzerocool/holonovel. Holonovel MCP server: world-model base for tabletop RPG play (rooms, parser, narrative tools). This page covers its npm package (holonovel).
Is the io.github.flukeatzerocool/holonovel MCP server safe to use?
io.github.flukeatzerocool/holonovel scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.flukeatzerocool/holonovel MCP server expose?
io.github.flukeatzerocool/holonovel exposes 28 tools: set_badge, respond, undo, redo, help, and 23 more. Their descriptions and schemas cost roughly 5,913 tokens of context every time the server is loaded.
Is the io.github.flukeatzerocool/holonovel MCP server still maintained?
io.github.flukeatzerocool/holonovel is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.flukeatzerocool/holonovel MCP server under?
io.github.flukeatzerocool/holonovel declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.