scrivener-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@scrivener-mcp Scan my project and give me an overview"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Scrivener MCP
A read-only MCP server that connects Claude Desktop to your Scrivener writing projects.
Work in Scrivener, ask Claude for help. Claude can see your entire project - structure, content, notes, synopses - but all writing happens in Scrivener where it belongs.
What can it do?
Point Claude at your novel and ask:
"Scan the project and give me an overview"
"Find inconsistencies in my character descriptions"
"What plot threads are unresolved?"
"Where do I mention the lighthouse?"
"What's my word count by chapter?"
"Read Chapter 3"
Related MCP server: Co-Reading MCP
Supported Platforms
Platform | Client | Status |
macOS | Claude Desktop | Supported |
Windows | Claude Desktop | Supported |
Requirements
Python 3.10+
Scrivener 3 project (.scriv folder)
Claude Desktop
Installation
# Clone the repo
git clone https://github.com/zaphodsdad/scrivener-mcp.git
cd scrivener-mcp
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install
pip install -e .Setup with Claude Desktop
Add to your config file:
Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"scrivener": {
"command": "/path/to/scrivener-mcp/.venv/bin/scrivener-mcp"
}
}
}Restart Claude Desktop. That's it.
Available Tools (10)
Tool | Description |
| Scan common locations for Scrivener projects |
| Open a Scrivener project by path |
| Get bird's eye view: chapter titles, word counts, synopses, opening lines |
| Show the binder structure (folders and documents) |
| Read a single document by title, path, or UUID |
| Read a full chapter with all its scenes |
| Full-text search across all documents |
| Word count statistics by chapter/folder |
| Read the synopsis (index card text) for a document |
| Read the inspector notes for a document |
Recommended Workflow
Open project: "Open my Scrivener project Neon Syn"
Scan for overview: "Scan the project" - gives chapter summaries without loading everything
Dive deeper: "Read Chapter 3" - read specific chapters as needed
Search: "Search for mentions of the red door" - searches all documents
If you edit in Scrivener: "Re-open the project" to refresh
Example Prompts
"Find my Scrivener projects"
"Open [project name]"
"Scan the project and summarize each chapter"
"Read Chapter 1"
"Search for mentions of 'lighthouse'"
"What's my word count by chapter?"
"Show me the synopsis for Chapter 3"
"Find plot holes based on the chapter summaries"
How It Works
Scrivener projects are folders containing:
A
.scrivxXML file (the binder structure)RTF files for each document (
Files/Data/{UUID}/content.rtf)
This server parses the XML to understand your project structure, then reads and converts the RTF files to plain text for Claude to analyze.
Why Read-Only?
Scrivener is excellent software. Write in Scrivener. Use this MCP to give Claude context about your work so it can help you think through problems, find inconsistencies, and answer questions about your manuscript.
All writing stays in Scrivener where it belongs.
Limitations
Scrivener 3 format only (Scrivener 1/2 not tested)
Some RTF formatting may not convert perfectly
Read-only by design
Re-open project to see changes made in Scrivener
Related Projects
prose-pipeline - AI-powered prose generation
License
MIT
Available Tools
11 toolsfind_projectsA
Find Scrivener projects on your computer.
Searches common locations (Documents, Dropbox, iCloud, etc.) for .scriv folders. Use this to discover available projects, then use open_project to load one.
Args: search_path: Optional specific folder to search. If not provided, searches common locations like Documents, Dropbox, iCloud.
Returns: List of found Scrivener projects with their paths.
Inputs: search_path. Returns: result
get_notesA
Get the document notes (inspector notes) for a document.
In Scrivener, document notes appear in the inspector panel and contain author notes, research, reminders, etc.
Args: identifier: Document title, path, or UUID
Returns: The notes text, or a message if no notes exist.
Inputs: identifier (required). Returns: result
get_synopsisA
Get the synopsis (short summary) of a document.
In Scrivener, the synopsis is a brief description shown on index cards in corkboard view. Useful for understanding scene/chapter summaries.
Args: identifier: Document title, path, or UUID
Returns: The synopsis text, or a message if no synopsis exists.
Inputs: identifier (required). Returns: result
get_word_countsA
Get word count statistics for the project or a specific folder.
Args: folder_path: Optional path to a specific folder. If not provided, shows stats for the entire manuscript (Draft folder).
Returns: Word count breakdown by folder/chapter.
Inputs: folder_path. Returns: result
list_binderA
List the binder structure of the Scrivener project.
Shows the hierarchical structure of folders and documents, similar to Scrivener's binder sidebar.
Args: folder_path: Optional path to a specific folder to list (e.g., "Neon Syn/Book One"). If not provided, lists the entire binder.
Returns: Tree representation of the binder structure with: - ๐ for folders - ๐ for documents - โ for items marked "Include in Compile"
Inputs: folder_path. Returns: result
open_projectB
Open a Scrivener project.
Args: path: Path to the .scriv folder
Returns: Confirmation message with project info
Inputs: path (required). Returns: result
read_chapterA
Read a specific chapter or section of the manuscript.
Reads all documents within the specified chapter/folder, in binder order.
โ ๏ธ For large projects, always read one chapter at a time to avoid timeouts. Use scan_project first to see available chapters.
Args: chapter: Chapter name or path (e.g., "Chapter 01", "Book One/Chapter 05") include_titles: Whether to include document/folder titles as headings
Returns: The chapter text with all its scenes/documents.
Inputs: chapter (required), include_titles. Returns: result
read_documentA
Read the content of a specific document.
Args: identifier: Can be one of: - Document title (e.g., "Chapter 1") - Full path (e.g., "Neon Syn/Book One/Chapter 01/01") - UUID (e.g., "BA3D0D3E-0BC5-4E4F-AEB4-D7203A5215C4")
Returns: The plain text content of the document, with metadata header showing title, path, and word count.
Inputs: identifier (required). Returns: result
scan_projectA
Scan the project and return a structured overview for analysis.
Returns chapter titles, word counts, synopses (if any), and opening lines. This gives you enough context to understand the whole project without loading every document into memory.
Use this to get a bird's eye view, then use read_document or read_chapter(chapter="...") to dive deeper into specific sections.
Args: folder_path: Optional path to scan a specific folder (e.g., "Book One"). If not provided, scans the entire Draft/Manuscript folder.
Returns: Structured overview with chapter summaries, word counts, and opening lines.
Inputs: folder_path. Returns: result
search_projectA
Search for text across all documents in the project.
Args: query: Text or regex pattern to search for case_sensitive: Whether to match case (default: False)
Returns: List of matching documents with excerpts showing the matching lines.
Inputs: query (required), case_sensitive. Returns: result
write_synopsisA
Write the synopsis (index card text) for a document.
The project must be CLOSED in Scrivener, otherwise this fails. Overwrites any existing synopsis. No snapshot is taken.
Args: identifier: Document title, path, or UUID synopsis: The synopsis text to write
Returns: Confirmation message, or an error description.
Inputs: synopsis (required), identifier (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 11 tools
Tools are mostly distinct: read_document and read_chapter overlap somewhat (one reads a single document, the other an entire chapter), but descriptions clarify the difference. scan_project also overlaps with get_word_counts and list_binder, yet it provides a unique high-level overview, reducing confusion.
All tool names follow a consistent verb_noun pattern (open_project, list_binder, read_document, get_synopsis, etc.). While verbs vary (open, list, read, get, search, scan), the structure is uniform and predictable.
With 11 tools, the server is well-scoped for a Scrivener project interaction tool. Each tool covers a meaningful aspect of browsing, reading, searching, and managing project metadata without unnecessary bloat.
The tool set strongly favors reading and analysis, with only write_synopsis as a write operation. It lacks document editing, creation, deletion, or renaming, which are significant gaps for a writing application. Core read/search/scan workflows are covered, but the write surface is very limited.
Maintenance
Related MCP Connectors
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Zotero MCP server for Claude and ChatGPT: search, citations, safe writes, PDF passages and pages.
Read-only MCP server exposing a user ORANO library to their own AI agent.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server that gives Claude Desktop and other desktop MCP clients filesystem powersโread, write, edit, and manage files like AI coding assistants.1767 npm9MIT
- AlicenseBqualityBmaintenanceA local MCP server that gives Claude a durable reading room for EPUB and plain text books, enabling chunk-by-chunk navigation, annotations, progress tracking, and shared margin cards.26120MIT
- FlicenseNot gradedqualityDmaintenanceRead-only MCP server that gives Claude live access to your UE5 project state โ Blueprints, interfaces, variables, functions, event graphs, materials, structs, and Data Assets.-
- AlicenseNot gradedqualityFmaintenanceAn MCP server that enables Claude Desktop to search and read local documents via full-text and fuzzy search, providing direct access to indexed files without chunking.MIT