Mmcp.market

Scrivener MCP server

by writerslogic·io.github.writerslogic/scrivener-mcp·v0.12.0

MCP server for Scrivener: read, write, analyze, and search your manuscripts with AI assistants.

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
Growing

61 stars104 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • add_relationship

    Record a typed, directed relationship between two story entities (e.g. a character

  • advanced

    Async job queue and batch operations

  • analysis

    Analyze writing quality, enhance prose, check consistency, track goals, tune writing preferences

  • analyze_document

    Analyze the writing quality of a single document and return a summary of readability, pacing,

  • analyze_writing_style

    Analyze the prose style of one or more text samples — sentence variety, tone, voice,

  • build_vector_store

    Build search index

  • cancel_jobwrite action

    Cancel a queued or running background job by its type and id. Returns whether the

  • character_network

    THE default tool for "map my characters" / "how do my characters connect": returns the full

  • check_consistency

    Scan the whole project for continuity problems and return the issues found: character

  • check_plot_consistency

    Scan a set of documents for plot-level inconsistencies — timeline conflicts, contradicted

  • close_project

    Close the currently open project, flush any pending memory/auto-save state, and clear the

  • collect_feedback

    Record feedback on an AI operation (e.g. "enhance_content") so it feeds the insights returned

  • compare_snapshot

    Compare a document snapshot against the current document text, or against another snapshot

  • compilation

    Compile manuscripts, export, statistics

  • compile_documents

    Compile the project's documents into a single continuous manuscript in the requested format

  • create_documentwrite action

    Create a new text document or folder in the binder and return its new id. Optionally set the

  • create_snapshotwrite action

    Take a Scrivener-native snapshot of a document's current content, restorable from Scrivener's

  • delete_documentwrite action

    Move a document to the project trash. This is reversible: the document can be listed with

  • detect_open_project

    Detect which Scrivener project the user currently has open in the desktop Scrivener app, so

  • discover_connections

    Surface previously unrecorded relationships across the project by analyzing entity

  • discover_projects

    Scan common locations (Documents, Desktop, and iCloud Mobile Documents) for Scrivener

  • documents

    Read, write, create, delete, move, and rename documents

  • enhance_content

    Produce an AI-improved version of a document's text for a chosen goal (fix grammar, refine

  • export_project

    Export the whole project to a publishing/interchange format. Markdown, HTML, and JSON

  • find_analogies

    Find analogies (A:B :: C:?)

  • find_mentions

    Find every occurrence of a specific name or term (a character, place, or keyword) across all

  • find_orphaned_entities

    List registered characters and locations that no document actually mentions — entities added

  • find_relationships

    Query the story graph for entities related to a given entity, returning the connected

  • generate_content

    Generate new prose from a natural-language prompt and return the generated text, optionally

  • generate_marketing_materials

    Generate a publishing/marketing artifact from the manuscript — a synopsis, query letter,

  • get_compile_settings

    Return the project's compile-format definitions (from Settings/compile.xml) and its

  • get_document_info

    Return metadata for a single document without its body text: title, type, word count,

  • get_entity_references

    Trace the reference graph between documents and registered characters/locations, in either

  • get_job_status

    Look up the status and progress of a background job previously started by

  • get_manuscript_briefing

    One "where am I?" snapshot of the whole manuscript: total word count against the project draft

  • get_queue_stats

    Get job queue statistics

  • get_statistics

    Return project-wide statistics: total word and document counts, plus title and author. Use

  • get_structure

    Return the binder hierarchy of the open project: its folders and documents in tree order,

  • get_writing_goals

    List writing goals with computed progress: percent complete, words remaining, and whether each

  • get_writing_preferences

    Return the current author writing preferences plus feedback insights: how much feedback has

  • hhm_dream

    Creative concept recombination

  • list_skills

    List the available skills (tool groups) — project, documents, search, analysis,

  • list_snapshots

    List the snapshots Scrivener has saved of a project's documents (from the .scriv

  • list_trash

    List all documents currently in the project trash, with their ids and titles. Use this to

  • memory

    Store and recall persistent project facts (characters, world, plot, style)

  • move_document

    Move a document or folder to a different parent folder in the binder, optionally at a specific

  • multi_agent_analysis

    Multi-agent analysis

  • open_project

    Open a Scrivener project and make it the active project for this session. Every document,

  • project

    Open, browse, save, close, and verify Scrivener projects

  • queue_document_analysis

    Enqueue a background NLP analysis of one document (readability, entities, sentiment) and

  • queue_project_analysis

    Enqueue a background batch analysis across many documents at once and return a job id

  • read_annotations

    Return the inline comments and footnotes attached to a document, grouped by type. Use this

  • read_document

    Read the text of a single document. By default returns plain text; set format to "formatted"

  • read_snapshot

    Return the text of a single document snapshot. Pass the documentId and the snapshotId from

  • recall

    Read back the project's persistent memory: stored characters, world-building, plot threads,

  • refresh_project

    Reload the open project from disk, discarding the in-memory cache. Use this when the project

  • relationships

    Entity relationships, character networks, story graph

  • remember

    Store or update a fact in the project's persistent memory so later tools and sessions stay

  • restore_document

    Restore a trashed document back into the binder, optionally into a specific target folder

  • search

    Search the open project and return matching documents with relevance-ranked snippets. By

  • semantic_search

    Find passages by meaning rather than exact words, using embeddings over the project, and

  • set_writing_goalwrite action

    Create or replace the active word-count goal for a cadence (daily, weekly, or whole project),

  • set_writing_preferences

    Set the author writing preferences that shape AI writing output (enhance_content and other

  • store_chapter_orderwrite action

    Store chapter sequence

  • suggest_connections

    Suggest characters or locations a document might be missing: entities it does not mention

  • suggest_improvements

    Generate AI writing suggestions for a prompt or a specific document — ideas for revision,

  • sync_to_neo4j

    Sync relationships to Neo4j

  • update_documentwrite action

    Update a document's title and/or its metadata (synopsis, notes, label, status, and custom

  • use_skill

    Activate a skill so its tools become available to call. Returns the activated skill's tool

  • verify_project_integrity

    Scan the open project for structural problems and return a read-only report: binder entries

  • write_documentwrite action

    Replace 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

2 medium
  • 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 presentinstall.script
  • mediumnpm install lifecycle script presentinstall.script
    package.json: …"test -n \"$CI\" || npm run build", "postinstall": "node scripts/postinstall.cjs", "un…
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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 &middot; What You Can Do &middot; All Tools &middot; Guides &middot; 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
Add to Cursor

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.

All Scrivener alternatives →
  • Gdelt
    Search and analyze global news coverage and US TV transcripts via the GDELT Project APIs.
    A
  • OpenAgenda
    Search, analyze and manage events on OpenAgenda.
    A
  • Dimensions Analytics
    Search and analyze Dimensions research data: publications, grants, researchers, patents, trials
    B

More from writerslogic →