WS

writerslogic/scrivener-mcp

Developer tools
46 stars 0 forks Качество 55 Тренд 55

Connect your Scrivener projects to Claude, ChatGPT, and other AI assistants

Обзор

Connect your Scrivener projects to Claude, ChatGPT, and other AI assistants

README

Scrivener MCP

Connect your Scrivener projects to Claude, ChatGPT, and other AI assistants

Install · What You Can Do · All Tools · Guides · Contributing


Scrivener MCP lets your AI assistant open, read, edit, analyze, and search your Scrivener projects directly. No copy-pasting. No exporting. Tell your assistant which project to open, and start working.

You: Open my novel and analyze the pacing in Chapter 12.

Claude: Opens your .scriv project, reads Chapter 12, runs pacing analysis. The first half moves well with short, tense paragraphs. The middle section slows considerably – the three-page internal monologue starting at paragraph 14 stalls the momentum you built in the confrontation scene. Consider cutting it to a single paragraph and moving the backstory to Chapter 8 where Elena is first introduced.

Works with Claude Desktop, Claude Code, VS Code (Copilot/Continue), Cursor, and any MCP-compatible client. Scrivener 3 on macOS, Windows, and Linux. Listed on the official MCP Registry as io.github.writerslogic/scrivener-mcp.

Install

Pick the method that works for you. Most auto-configure Claude Desktop on install. Claude Code and other clients need one extra step – see Claude Code below.

npm install -g scrivener-mcp

Restart Claude Desktop. Done.

Claude Code

Installing the npm package does not register the server with Claude Code – the install-time auto-config only writes Claude Desktop’s config. After installing, register the server:

npx scrivener-setup

This detects Claude Code (along with Claude Desktop and Cursor) and writes the config for you. To register it manually instead:

claude mcp add -s user scrivener -- npx scrivener-mcp

Then restart Claude Code (or run /mcp to reconnect) and Scrivener MCP appears in the server list. Drop -s user to scope it to the current project instead of all projects.

Smithery

npx -y @smithery/cli install scrivener-mcp --client claude

npx (no install)

Use directly without installing globally:

npx scrivener-mcp

Or add to your Claude Desktop config manually:

{
  "mcpServers": {
    "scrivener": {
      "command": "npx",
      "args": ["scrivener-mcp"]
    }
  }
}

GitHub

Install directly from the repo (latest main):

npm install -g writerslogic/scrivener-mcp

Or a specific release:

npm install -g writerslogic/scrivener-mcp#v0.12.0

Homebrew (macOS)

brew install writerslogic/tap/scrivener-mcp

Docker

docker build -t scrivener-mcp https://github.com/writerslogic/scrivener-mcp.git
docker run -i --rm -v /path/to/your/projects:/projects scrivener-mcp

What You Can Do

First, open a project. The server acts on whatever .scriv project you point it at – it has no link to the Scrivener app and can’t see what you have open there. Start a conversation with “Open my Scrivener project at ~/Documents/My Novel.scriv” (or “Discover my Scrivener projects” if you don’t know the path), then give your commands. On macOS you can also just say “Use the project I have open in Scrivener” – it detects the open project and opens it (the first time, macOS asks you to allow controlling Scrivener). Do this once at the start of each conversation; the examples below all assume a project is open. If the same project is also open and unsaved in the Scrivener app, save or close it there first to avoid conflicting writes.

Manage Your Manuscript

Open any Scrivener project and work with it naturally. Read chapters, create new scenes, reorganize the binder, update synopses – all through conversation.

You: Create a new scene called “The Reveal” after Chapter 5, and move the old epilogue to the trash.

Analyze Your Writing

Get detailed feedback on readability, pacing, style, dialogue quality, and emotional arc. Not generic advice – analysis grounded in your actual prose.

You: Analyze Chapter 3. Is the pacing too slow?

Claude: Readability is good (Flesch-Kincaid grade 8.2), but pacing flags:

  • 4 consecutive paragraphs of internal monologue (lines 45-78) with no action or dialogue
  • The scene is 3,200 words with only 2 scene breaks – your other chapters average 4
  • Filter word density is 2x your manuscript average (“felt”, “seemed”, “noticed”) Specific suggestions: …

Enhance Your Prose

Apply targeted improvements: eliminate filter words, strengthen verbs, vary sentence structure, add sensory details, convert telling to showing, tighten dialogue, adjust pacing.

You: Eliminate the filter words in Chapter 7 and strengthen the verbs.

Track Characters and Plot

Store character profiles, plot threads, and style guides that persist with your project. The AI remembers your characters across sessions.

You: Save a character profile for Marcus: retired detective, cynical but fair, walks with a limp from an old injury, speaks in clipped sentences.

Later…

You: Check if Marcus is consistent across all chapters.

Claude: Found an inconsistency: Marcus walks “briskly” in Chapter 9 (line 34), but his limp is referenced in Chapters 2, 5, and 11. Also, his dialogue in Chapter 4 uses long flowing sentences, which contradicts the “clipped sentences” note in his profile.

Search by Meaning

Find passages by what they’re about, not just keyword matching. “Find scenes where the protagonist feels isolated” works even if the word “isolated” never appears. The project index and similarity scoring run locally through the Holographic Memory System; the current search pipeline also uses your configured AI provider for query interpretation and result explanations, so semantic_search requires a provider.

You: Find all scenes where Elena and Marcus are alone together.

Track Relationships

Store and query relationships between characters, locations, themes, and plot threads. No Neo4j required – relationships live in the semantic memory engine and persist with your project.

You: Who is connected to Marcus? What plot threads involve the lighthouse?

Compile and Export

Combine chapters into a single manuscript with configurable formatting, separators, and structure preservation. Export the result inline as Markdown, HTML, or JSON, or write a DOCX, EPUB, or PDF file to disk for submission, e-readers, or print.

All Tools

57 tools organized by workflow. To keep token usage low, tools load progressively – project tools at startup, document and search tools when you open a project, and the rest on demand (your AI client activates them automatically, or calls them directly and the owning skill activates on the fly). Set SCRIVENER_MCP_EAGER_TOOLS=1 to load everything at once.

Guides

Requirements

  • Node.js 18+
  • Scrivener 3 project files (.scriv)
  • macOS, Windows, or Linux
  • Optional: Anthropic, OpenAI, or OpenRouter API key for provider-backed AI features
  • Optional: Neo4j for persistence and advanced graph queries; core relationship tools work without it

Development

git clone https://github.com/writerslogic/scrivener-mcp.git
cd scrivener-mcp
npm install
npm run dev          # Development mode with hot reload
npm run build        # Compile TypeScript
npm test             # Run tests
npm run typecheck    # Type checking only

Why This One?

Several Scrivener MCP servers exist. This comparison is based on each project’s public documentation, published package, and advertised tool surface as of 2026-08-07. “No” means the project does not document that capability; it does not claim the capability is impossible through the connected AI client.

Feature scrivener-mcp jiayun TwelveTake Scrivener Assistant ricopicone zaphodsdad
Public MCP tools 57 29 22 38 18 10
Manuscript access read/write read/write read/write read-only; writes sidecar data/metadata read-only by default; opt-in content/notes/synopsis writes read-only
RTF handling formatted reads; fidelity-preserving span writes reads/writes document content reads/writes document content converts RTF to text; manuscript read-only RTF-to-text reads; snapshot-protected content writes converts RTF to text; read-only
Built-in writing analysis readability, pacing, style, emotion, AI critique readability, style, sentiment continuity comparison agent-driven five-point review workflow no dedicated analysis tool no dedicated analysis tool
Content generation/enhancement generation + 12 targeted enhancement types no no brainstorm/draft agent workflow no no
Local semantic retrieval HMS index and similarity search no no no no no
Continuity/project memory persistent memory + consistency checks persistent notes + consistency checks mention/description comparison world bible, story state, characters, locations, review history no persistent memory no persistent memory
Relationship tooling persistent relationships, networks, reference graph; optional Neo4j no no human-editable relations data no no
Token optimization progressive skill loading, compact output, paged reads no documented equivalent no documented equivalent no documented equivalent scoped binder/chapter reads scoped overview/read tools
Export / compilation Markdown, HTML, JSON, DOCX, EPUB, PDF compile + whole-draft export PDF saves AI drafts; no manuscript export documented no no
Windows support yes yes (prebuilt binary) yes not documented not documented yes
Installation npm, Homebrew, Docker, Smithery Cargo or prebuilt binary npm package (deprecated) MCPB or source source / uv source / pip install -e
License AGPL-3.0 / commercial dual-license MIT MIT MIT not declared MIT
Repository/package status weekly activity; npm 0.12.0 weekly activity discontinued and unmaintained occasional activity occasional activity; no releases occasional activity
Community ⭐ 40 · 14 forks ⭐ 7 source repository unavailable ⭐ 1 ⭐ 0 ⭐ 5 · 1 fork

Counts and feature claims can change. Follow the linked projects for their latest documentation; the maintained comparison source is docs/comparison.yml.

Contributing

We welcome contributions of all sizes. Check the issue tracker for good first issue labels, or see the contributing guide for development setup.

Areas where help is especially welcome:

  • Test coverage (#18)
  • Windows testing and path handling
  • Scrivener 2 compatibility testing
  • Documentation improvements (#25)

Security

Found a vulnerability? Please report it privately — see SECURITY.md.

License

AGPL-3.0 © WritersLogic, Inc.

Free for personal use and open-source projects. Commercial license available for proprietary integration. See COMMERCIAL_LICENSE.md for details.

GitHub · npm · Issues · Changelog

View this README on GitHub

Установка

npx scrivener-mcp

Конфигурация

{ "mcpServers": { "scrivener": { "command": "npx", "args": ["scrivener-mcp"] } } }