Scrivener MCP server
MCP server for Scrivener: read, write, analyze, and search your manuscripts with AI assistants.
61 stars104 downloads/wk
Reviews
Write oneNobody has reviewed Scrivener yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Scrivener tools (71, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_relationshipRecord a typed, directed relationship between two story entities (e.g. a character
advancedAsync job queue and batch operations
analysisAnalyze writing quality, enhance prose, check consistency, track goals, tune writing preferences
analyze_documentAnalyze the writing quality of a single document and return a summary of readability, pacing,
analyze_writing_styleAnalyze the prose style of one or more text samples — sentence variety, tone, voice,
build_vector_storeBuild search index
cancel_jobwrite actionCancel a queued or running background job by its type and id. Returns whether the
character_networkTHE default tool for "map my characters" / "how do my characters connect": returns the full
check_consistencyScan the whole project for continuity problems and return the issues found: character
check_plot_consistencyScan a set of documents for plot-level inconsistencies — timeline conflicts, contradicted
close_projectClose the currently open project, flush any pending memory/auto-save state, and clear the
collect_feedbackRecord feedback on an AI operation (e.g. "enhance_content") so it feeds the insights returned
compare_snapshotCompare a document snapshot against the current document text, or against another snapshot
compilationCompile manuscripts, export, statistics
compile_documentsCompile the project's documents into a single continuous manuscript in the requested format
create_documentwrite actionCreate a new text document or folder in the binder and return its new id. Optionally set the
create_snapshotwrite actionTake a Scrivener-native snapshot of a document's current content, restorable from Scrivener's
delete_documentwrite actionMove a document to the project trash. This is reversible: the document can be listed with
detect_open_projectDetect which Scrivener project the user currently has open in the desktop Scrivener app, so
discover_connectionsSurface previously unrecorded relationships across the project by analyzing entity
discover_projectsScan common locations (Documents, Desktop, and iCloud Mobile Documents) for Scrivener
documentsRead, write, create, delete, move, and rename documents
enhance_contentProduce an AI-improved version of a document's text for a chosen goal (fix grammar, refine
export_projectExport the whole project to a publishing/interchange format. Markdown, HTML, and JSON
find_analogiesFind analogies (A:B :: C:?)
find_mentionsFind every occurrence of a specific name or term (a character, place, or keyword) across all
find_orphaned_entitiesList registered characters and locations that no document actually mentions — entities added
find_relationshipsQuery the story graph for entities related to a given entity, returning the connected
generate_contentGenerate new prose from a natural-language prompt and return the generated text, optionally
generate_marketing_materialsGenerate a publishing/marketing artifact from the manuscript — a synopsis, query letter,
get_compile_settingsReturn the project's compile-format definitions (from Settings/compile.xml) and its
get_document_infoReturn metadata for a single document without its body text: title, type, word count,
get_entity_referencesTrace the reference graph between documents and registered characters/locations, in either
get_job_statusLook up the status and progress of a background job previously started by
get_manuscript_briefingOne "where am I?" snapshot of the whole manuscript: total word count against the project draft
get_queue_statsGet job queue statistics
get_statisticsReturn project-wide statistics: total word and document counts, plus title and author. Use
get_structureReturn the binder hierarchy of the open project: its folders and documents in tree order,
get_writing_goalsList writing goals with computed progress: percent complete, words remaining, and whether each
get_writing_preferencesReturn the current author writing preferences plus feedback insights: how much feedback has
hhm_dreamCreative concept recombination
list_skillsList the available skills (tool groups) — project, documents, search, analysis,
list_snapshotsList the snapshots Scrivener has saved of a project's documents (from the .scriv
list_trashList all documents currently in the project trash, with their ids and titles. Use this to
memoryStore and recall persistent project facts (characters, world, plot, style)
move_documentMove a document or folder to a different parent folder in the binder, optionally at a specific
multi_agent_analysisMulti-agent analysis
open_projectOpen a Scrivener project and make it the active project for this session. Every document,
projectOpen, browse, save, close, and verify Scrivener projects
queue_document_analysisEnqueue a background NLP analysis of one document (readability, entities, sentiment) and
queue_project_analysisEnqueue a background batch analysis across many documents at once and return a job id
read_annotationsReturn the inline comments and footnotes attached to a document, grouped by type. Use this
read_documentRead the text of a single document. By default returns plain text; set format to "formatted"
read_snapshotReturn the text of a single document snapshot. Pass the documentId and the snapshotId from
recallRead back the project's persistent memory: stored characters, world-building, plot threads,
refresh_projectReload the open project from disk, discarding the in-memory cache. Use this when the project
relationshipsEntity relationships, character networks, story graph
rememberStore or update a fact in the project's persistent memory so later tools and sessions stay
restore_documentRestore a trashed document back into the binder, optionally into a specific target folder
searchSearch the open project and return matching documents with relevance-ranked snippets. By
semantic_searchFind passages by meaning rather than exact words, using embeddings over the project, and
set_writing_goalwrite actionCreate or replace the active word-count goal for a cadence (daily, weekly, or whole project),
set_writing_preferencesSet the author writing preferences that shape AI writing output (enhance_content and other
store_chapter_orderwrite actionStore chapter sequence
suggest_connectionsSuggest characters or locations a document might be missing: entities it does not mention
suggest_improvementsGenerate AI writing suggestions for a prompt or a specific document — ideas for revision,
sync_to_neo4jSync relationships to Neo4j
update_documentwrite actionUpdate a document's title and/or its metadata (synopsis, notes, label, status, and custom
use_skillActivate a skill so its tools become available to call. Returns the activated skill's tool
verify_project_integrityScan the open project for structural problems and return a read-only report: binder entries
write_documentwrite actionReplace a document's text with new content, preserving the surrounding Scrivener formatting
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan289 source files scanned15/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner7/10
Findings (2)
- mediumnpm install lifecycle script present
install.script - mediumnpm install lifecycle script present
install.scriptpackage.json: …"test -n \"$CI\" || npm run build", "postinstall": "node scripts/postinstall.cjs", "un…
What the publisher says
From the Scrivener repository's README, as published. We do not edit it. Read it on GitHub
<!-- repo-header:start -->
Scrivener MCP
The definitive MCP server for Scrivener — connect your novels, screenplays, and manuscripts to Claude, ChatGPT, and any AI assistant. 53 tools: document management, writing analysis, content enhancement, offline semantic search, and character/plot tracking.
<!-- repo-header:end -->
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 exporting, no copy-pasting text back and forth. Tell it which project to open and start working.
You: Open my novel and analyze the pacing in Chapter 12.
Claude: Opens the .scriv project, reads Chapter 12, runs pacing analysis. The first half moves well, but the middle stalls — a three-page internal monologue starting at paragraph 14 kills the momentum you built in the confrontation scene. Consider cutting it to a paragraph and moving the backstory to Chapter 8.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y scrivener-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add scrivener-mcp -- npx -y scrivener-mcp
Scrivener: common questions
- Is Scrivener MCP server safe?
- Mostly: it is graded B (75/100). Read the Scrivener safety report
- How do I install Scrivener?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Scrivener need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Scrivener maintained?
- The last commit was 3 days ago (2026-09-21). The latest release is v0.12.0.
- What can I use instead of Scrivener?
- Servers from other publishers that do the same job: Gdelt MCP server, OpenAgenda MCP server and Dimensions Analytics MCP server. Compare all Scrivener alternatives.
Alternatives to Scrivener
Same job from other publishers: the closest match first, then the best rated.
- GdeltSearch and analyze global news coverage and US TV transcripts via the GDELT Project APIs.not reviewedGrowingA
OpenAgendaSearch, analyze and manage events on OpenAgenda.not reviewedGrowingA- Dimensions AnalyticsSearch and analyze Dimensions research data: publications, grants, researchers, patents, trialsnot reviewedGrowingB