# dsh-novel-writer — 网文写作体检

21 tools that score a Chinese web novel for style, plot lines and continuity. All the analysis runs on your machine, so the manuscript stays put.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 24
- Author: siweina
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/siweina/dsh-novel-writer
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/dsh-novel-writer

## What it does

The server covers the whole loop: prep, writing, checking, revision. One call to `novel_chapter_brief` returns 16 inputs for the next chapter, among them the close of the previous one, its hook, plot threads still waiting to pay off with the number of chapters since they opened, character cards and the vocabulary rules of your setting. Anything it cannot find lands in a `degraded` block that says what is missing. `novel_new_chapter` then creates the chapter file, `novel_style_check` measures it against a baseline on six axes, and `novel_fix_plan` turns the gaps into a to-do list ordered by severity, effort and line number. The list defaults to 12 items, and the server never edits your prose: each entry names the line, the current and target values, and a direction for the rewrite.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `DSH_NOVEL_WRITER_ROOT`, `DSH_NOVEL_WRITER_STATE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env DSH_NOVEL_WRITER_ROOT=<DSH_NOVEL_WRITER_ROOT> --env DSH_NOVEL_WRITER_STATE=<DSH_NOVEL_WRITER_STATE> --transport stdio dsh-novel-writer -- npx -y dsh-novel-writer
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add dsh-novel-writer --env DSH_NOVEL_WRITER_ROOT=<DSH_NOVEL_WRITER_ROOT> --env DSH_NOVEL_WRITER_STATE=<DSH_NOVEL_WRITER_STATE> -- npx -y dsh-novel-writer
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "dsh-novel-writer": {
            "command": "npx",
            "args": [
                "-y",
                "dsh-novel-writer"
            ],
            "env": {
                "DSH_NOVEL_WRITER_ROOT": "<DSH_NOVEL_WRITER_ROOT>",
                "DSH_NOVEL_WRITER_STATE": "<DSH_NOVEL_WRITER_STATE>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "dsh-novel-writer": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "dsh-novel-writer"
            ],
            "env": {
                "DSH_NOVEL_WRITER_ROOT": "<DSH_NOVEL_WRITER_ROOT>",
                "DSH_NOVEL_WRITER_STATE": "<DSH_NOVEL_WRITER_STATE>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e DSH_NOVEL_WRITER_ROOT=<DSH_NOVEL_WRITER_ROOT> -e DSH_NOVEL_WRITER_STATE=<DSH_NOVEL_WRITER_STATE> dsh-novel-writer npx -y dsh-novel-writer
```
Replace <…> with your own values

## When to use it
- gather every input for a new chapter in a single call
- spot where a chapter drifts from your reference style
- turn audit findings into a ranked revision list
- find dropped plot lines and characters who vanished
- remove every file of an abandoned book cleanly

## Example prompts
- Gather the material for the next chapter.
- Check the style of chapter seven and list the deviations.
- Build a fix plan for this chapter, worst first.

## Similar
- [Reactive Resume](https://affpapa.org/en/nevibecode/mcp/reactive-resume.md) — MCP server · ★ 44874
- [Sui Knowledge Base (kapa.ai)](https://affpapa.org/en/nevibecode/mcp/sui-knowledge-base-kapaai.md) — MCP server · ★ 7784
- [Claude Code Ultimate Guide](https://affpapa.org/en/nevibecode/mcp/claude-code-ultimate-guide.md) — MCP server · ★ 6237
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5548
- [RevoGrid DataGrid MCP Pro](https://affpapa.org/en/nevibecode/mcp/revogrid-datagrid-mcp-pro.md) — MCP server · ★ 3450
- [Claude Code Explorer MCP](https://affpapa.org/en/nevibecode/mcp/codeaashu-claude-code-explorer-mcp.md) — MCP server · ★ 3409

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
