Skip to main content
Glama

novel-writer-mcp

v0.2.0 — 网文结构引擎 MCP:项目管理、场景 checklist、伏笔台账、draw.io 导入、推进建议、正文关联与 Task Master PRD 导出。

MCP 是「结构秘书」,不替写正文。程序与小说数据分离,支持双工作区布局。

快速开始

git clone <your-repo-url> novel-writer-mcp
cd novel-writer-mcp
npm install
npm run build
  1. 复制 .cursor/mcp.json.example 为 .cursor/mcp.json(或写入全局 Cursor MCP 配置)

  2. 将 <MCP_ROOT> 换成本仓库路径,<WRITING_ROOT> 换成你的小说数据目录

  3. 在 Cursor 中重载 MCP

验收:在对话中说「调用 list_profiles」或「get_project,project_id 为 _example」。

Related MCP server: Storywright MCP

文档

文档

说明

快速开始

安装、配置、首次 tool 调用

架构说明

引擎 vs 数据、环境变量

双工作区布局

MCP 仓 vs 写作仓

Cursor 配置

mcp.json 详解

写作工作流

从脑洞到连载

无限流 walkthrough

副本章、constraints

线性史诗 walkthrough

记忆点、代际伏笔

与 AI 协作

防发散、对话模板

工具参考

20 tools + 参数

Profile 模板

无限流 / 线性史诗

draw.io 指南

标签与嵌套容器

伏笔管理

登记→回收

Task Master 联动

PRD 导出

数据模型

JSON schema

版本升级

兼容性

发布指南

GitHub / npm

示例

内置示例项目 novels/_example/(无限流,ch1 kind: dungeon)。

开发

npm run build
npm test

详见 CONTRIBUTING.md。

License

MIT

Available Tools

21 tools
close_sceneClose SceneB

标记场景完成,写入 change,可选关联伏笔

Inputs: scene_id (required), project_id (required), change, foreshadow_ids.

create_projectCreate ProjectB

从 profile 模板初始化小说项目目录

Inputs: id (required), title (required), profile (required), extends, +1 more.

export_chapter_prdExport Chapter PRDB

导出章节 PRD 到 .taskmaster/docs/ 供 Task Master parse_prd 使用

Inputs: chapter_id (required), project_id (required).

get_chapter_checklistGet Chapter ChecklistC

整章 checklist + pacing 校验 + 伏笔到期 issues

Inputs: chapter_id (required), project_id (required).

get_foreshadows_dueGet Foreshadows DueA

返回 planned_payoff_chapter <= 当前章号且未 closed 的伏笔

Inputs: project_id (required), current_chapter.

get_open_foreshadowsGet Open ForeshadowsB

查询开放中的伏笔(含 chapters_since_hint)

Inputs: project_id (required).

get_projectGet ProjectA

读取项目配置与 pacing

Inputs: project_id (required).

get_scene_checklistGet Scene ChecklistA

返回场景 checklist 及章级聚合校验(缺爽点/缺章末钩子)

Inputs: scene_id (required), project_id (required).

get_scene_prose_summaryGet Scene Prose SummaryC

读取正文前 N 字 + 轻量校验 goal/change 关键词是否出现

Inputs: scene_id (required), project_id (required), max_chars.

hint_foreshadow_againHint Foreshadow AgainC

再次暗示伏笔,关联 scene 并更新 last_hinted_chapter

Inputs: scene_id (required), project_id (required), foreshadow_id (required), chapter_number.

import_drawio_outlineImport Drawio OutlineA

解析 .drawio XML,按节点标签生成 arc/chapter/scene 骨架

Inputs: project_id (required), xml, file_path.

list_profilesList ProfilesA

列出 profiles/*.json 可用模板

Inputs: no named parameters.

list_projectsList ProjectsA

列出所有小说项目

Inputs: no named parameters.

pay_off_foreshadowPay Off ForeshadowB

标记伏笔已回收(status: closed)

Inputs: project_id (required), foreshadow_id (required), payoff_chapter, payoff_scene_id.

register_foreshadowRegister ForeshadowD

登记伏笔

Inputs: title (required), project_id (required), id, status, +4 more.

split_chapter_to_scenesSplit Chapter to ScenesB

将某章拆为 N 个 scene,自动分配 checklist(按 chapter.kind 过滤)

Inputs: n (required), chapter_id (required), project_id (required).

suggest_next_scenesSuggest Next ScenesB

基于 advance_operators 与上一场 change 输出候选场景,支持 constraints 过滤

Inputs: project_id (required), count, constraints.

update_chapterUpdate ChapterB

更新章节 title/kind;kind 变更默认不重写已有 checklist,可选 rebuild_checklists

Inputs: chapter_id (required), project_id (required), kind, title, +1 more.

update_project_pacingUpdate Project PacingC

更新项目节奏参数

Inputs: project_id (required), hook_on, scenes_per_chapter, chapter_word_target, +1 more.

update_sceneUpdate SceneC

更新场景的 goal/conflict/change/checklist 勾选

Inputs: scene_id (required), project_id (required), pov, goal, +5 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 21 tools

    Disambiguation5/5

    Every tool targets a distinct resource/action: project CRUD+pacing, chapter/scene editing, foreshadow lifecycle, import/export, and manuscript linking. No two tools appear to do the same thing; even similar getters differ by scope (scene vs chapter, open vs due foreshadows).

    Naming Consistency5/5

    All tool names use snake_case with a consistent verb_noun pattern (create_project, get_scene_checklist, pay_off_foreshadow). Minor variation like 'hint_foreshadow_again' still follows the same verb-first convention and remains predictable.

    Tool Count4/5

    21 tools is on the heavier side but justified by the multi-faceted domain (project setup, chapter/scene management, foreshadowing, import/export). Each tool has a specific role, so the count does not feel bloated.

    Completeness4/5

    Covers the full novel-writing workflow: project initialization, chapter/scene breakdown, checklist validation, foreshadow tracking, outline import, and PRD export. Minor gaps like delete/archive operations are absent but not critical for the core creative process.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for managing a writer's bible, a structured and searchable knowledge base of a narrative universe with tools for characters, places, events, and semantic search.
      -
    • A
      license
      A
      quality
      D
      maintenance
      A local MCP server for maintaining internal consistency in fiction writing, with constraint-based fact checking, branching, and author-oracle conflict resolution.
      27
      MIT