{"name":"io.github.flukeatzerocool/holonovel","slug":"flukeatzerocool-holonovel","title":null,"description":"Holonovel MCP server: world-model base for tabletop RPG play (rooms, parser, narrative tools).","url":"https://mcp.market/server/flukeatzerocool-holonovel","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":25,"stars":0,"forks":0,"downloads_week":86,"last_push_at":"2026-09-11T04:14:32.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/flukeatzerocool/holonovel","website":null,"version":"2026.9.7","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"holonovel","version":"2026.9.7","transport":{"type":"stdio"}}],"tools":[{"name":"adventure","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"character","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"codex","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"combat","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"command","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"condition","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"countdown","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"faction","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"fate","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"forged","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"help","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ironsworn","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"lore","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"note","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"novel","description":"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.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"npc","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"redo","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"relationship","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"respond","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ruleset","description":"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/re","write_action":false,"price_micros":0,"input_schema":null},{"name":"scene","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"session","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_badge","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"story","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"synthesis","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"undo","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vow","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"world","description":"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).","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":89,"grade":"A","scanned_at":"2026-09-20T00:26:53.722Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:26:53.719Z","components":{"code":{"score":25,"max":25,"notes":["30 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 9 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"holonovel","version":"2026.9.7","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-07T17:41:57.246Z","repositoryUrl":"git+https://github.com/flukeatzerocool/holonovel.git","weeklyDownloads":86}],"repo":{"found":true,"owner":"flukeatzerocool","repo":"holonovel","archived":false,"pushedAt":"2026-09-11T04:14:32Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/320361732?v=4","ownerCreatedAt":"2026-08-24T00:51:21Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/320361732?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":86,"license":"MIT","lastPushAt":"2026-09-11T04:14:32.000Z","score":25}}}},"grade_history":[],"reviews":[]}