Labsco
MCP SERVER

Scrivener MCP

by writerslogic

Work on a Scrivener manuscript with an assistant — read and write the binder, search it, snapshot before changes, compile the result.

Note-Taking & Personal Knowledge BasesVerified
Summary
Treats the manuscript as a project, not a text file: binder structure, native snapshots and the project's own compile formats.

The snapshot tools are the reason to trust an assistant with a draft — take one before the edit, compare it afterwards, and restore from Scrivener's own Snapshots browser if you disagree. The skills mechanism keeps the tool list short until you activate the group you need, which matters here because the full surface spans editing, analysis, relationships and compilation.

What it is

A server for Scrivener 3 project files. It reads the .scriv package directly rather than talking to the app, and groups its tools into skills you activate as you need them.

What you get
  • Project handling: discover .scriv projects in the usual locations, open one as the session's active project, reload it from disk when it changed underneath you, and close it cleanly
  • The binder hierarchy in tree order with each item's id and title, and on macOS, detection of whichever project you have open in the Scrivener app
  • Documents read, created, written, updated, moved and deleted, with annotations read back, the trash listed and documents restored from it
  • Search two ways — plain and semantic — plus mention-finding across the manuscript
  • Scrivener-native snapshots: list them, read one, take a new one before an edit, and compare a snapshot against the current text or against another snapshot
  • A manuscript briefing that answers "where am I" — total word count against the draft target with progress
  • Analysis tools covering writing style, consistency, plot consistency, suggested improvements and collected feedback, with long-running analysis queued as jobs you can poll or cancel
  • Writing goals and preferences set and read back, and statistics for the project
  • A relationship layer: relationships added and found, character networks, entity references, orphaned entities and suggested connections, with a memory that persists what matters between sessions
  • Compilation and export using the project's own compile formats read from its settings, and an integrity check that reports binder entries with missing or malformed files
Requirements

Node.js 18+ and Scrivener 3 project files, on macOS, Windows or Linux. Published on npm as scrivener-mcp and run over stdio, with a setup command that configures common clients. Every command works on the project you opened in this session — the server has no link to the running Scrivener app, except on macOS where it can detect the open project after you allow it to control Scrivener. If the same project is open and unsaved in the app, save or close it there first to avoid conflicting writes.

Setup effort

One command — npx scrivener-mcp