Scrivener

Provides an MCP server to read, write, search, and compile Scrivener projects for AI assistants.
  • typescript

0

GitHub Stars

typescript

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "twelvetake-studios-scrivener-mcp": {
      "command": "scrivener-mcp",
      "args": []
    }
  }
}

You can run an MCP server for Scrivener to let AI assistants read, write, organize, search, and export your manuscripts directly from Scrivener projects. This server exposes a set of tools your AI can invoke to manage documents, track structure, and keep continuity across chapters and scenes.

How to use

Install the server, then connect your MCP-compatible AI client and start issuing commands. You will open projects, inspect the binder, read and write documents, rearrange folders, search across content with context, and export PDFs. Use natural language prompts like “Open my Scrivener project at /path/to/mynovel.scriv” or “Compile everything up to Chapter 7 into a PDF.” You can also run continuity checks, such as finding all mentions of a character or checking consistency of descriptions across chapters.

How to install

Prerequisites you need before installing:

  • Node.js 18 or higher
  • Scrivener 3 (macOS or Windows)
  • An MCP-compatible AI client (Claude Desktop, ChatGPT Desktop, Cursor, etc.)
npm install -g @twelvetake/scrivener-mcp

Add the MCP server to your Claude Desktop or other MCP client configuration. For Claude Desktop on macOS this path is typically:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "scrivener": {
      "command": "scrivener-mcp"
    }
  }
}

If you prefer to run from source, clone, install, build, and point your client to the built index. Follow these steps in order:

git clone https://github.com/TwelveTake-Studios/scrivener-mcp.git
cd scrivener-mcp
npm install
npm run build

Then in Claude Desktop (or your client), use the following configuration to run the local build:

{
  "mcpServers": {
    "scrivener": {
      "command": "node",
      "args": ["/full/path/to/scrivener-mcp/dist/index.js"]
    }
  }
}

Restart your client after saving the new config.

## Notes on usage and tips

- Close Scrivener before using the server to avoid file conflicts. The server interacts directly with the .scrivx binder and RTF content. Always keep backups of important projects.

## What you can do with the server

Open a Scrivener project, view and modify the binder structure, read or write document content, create new documents or folders, and move items around. You can search content with context, inspect and edit synopses or inspector notes, and manage compile options to generate PDFs with your chosen title, author, and formatting. Continuity tools help you identify where descriptions or character mentions diverge across chapters.

## Examples of common workflows

- Open a project and inspect the binder to understand the structure before drafting.

- Read a chapter to review content, then revise in place and append notes to the chapter end.

- Find all mentions of a character and verify consistency of their description across scenes.

## Available tools

### open\_project

Open a Scrivener project (.scriv folder) to work with.

### get\_structure

Get the hierarchical binder structure of the project.

### read\_document

Read content from a document; can include its synopsis.

### write\_document

Replace the content of a document with new content.

### append\_to\_document

Append content to the end of a document without replacing existing text.

### create\_document

Create a new document or folder within the binder.

### delete\_document

Move a document to the trash.

### move\_document

Move a document to a different folder in the binder.

### rename\_document

Rename a document.

### batch\_read

Read multiple documents in one operation for efficiency.

### read\_synopsis

Read the synopsis text for a document.

### write\_synopsis

Write or update the synopsis for a document.

### read\_notes

Read inspector notes for a document.

### write\_notes

Write or update inspector notes for a document.

### search\_content

Search across all documents for a query.

### search\_with\_context

Search with surrounding context paragraphs for better results.

### get\_compile\_order

Preview the order of documents to be compiled.

### compile\_manuscript

Export the manuscript to a PDF with optional metadata and formatting.

### set\_include\_in\_compile

Toggle whether a document is included in the PDF export.

### word\_count

Get word count for a document or the entire manuscript.

### find\_all\_mentions

Find all sentences mentioning a given term to support continuity checks.

### compare\_descriptions

Find descriptive sentences to check consistency of descriptions across occurrences.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational