Scrivener Mcp

io.github.writerslogic由 GitHub 账号 writerslogic 发布v0.12.0更新于 Oct 24, 2026

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

概览

AI 生成的概览

让 AI 助手直接打开、读取、编辑、分析和搜索 Scrivener 3 写作项目,无需导出或来回复制文本。

可以做什么
将助手连接到 .scriv 项目,可浏览文稿结构、读取和写入文档、创建场景、移动或删除条目,并管理简介、标签、状态等元数据。它提供关键词搜索与本地语义搜索、离线写作报告(可读性、风格、重复、对话标签、连贯性)、AI 写作分析与润色、人物与情节关系追踪、项目持久记忆,以及编译导出为 Markdown、HTML、JSON、DOCX、EPUB 或 PDF。工具按需逐步加载以控制 token 消耗。
适用场景
适合使用 Scrivener 的小说或剧本作者,希望助手分析节奏、连贯性或风格,提出有针对性的文字修改建议,追踪人物与情节线索,或在保留项目结构和元数据的前提下汇编并导出稿件。
运行要求
需要 Node.js 18+ 和 Scrivener 3 项目文件,支持 macOS、Windows 或 Linux;以 npm 包 scrivener-mcp 通过 stdio 运行。文档管理、确定性分析、关键词搜索和项目记忆无需 API 密钥。AI 分析、生成、润色和语义搜索需要 Anthropic、OpenAI 或 OpenRouter 密钥,可从 ANTHROPIC_API_KEY、OPENAI_API_KEY、OPENROUTER_API_KEY、env 文件、密钥文件或 macOS 钥匙串读取。Neo4j 为可选项。
安装前请注意
该服务器会写入项目文件:write_document 会替换文档内容,文档还可被创建、移动或删除(删除为移入废纸篓)。服务器编辑时不要让同一项目在 Scrivener 中处于打开且未保存状态,否则可能互相覆盖。API 密钥从环境变量或 macOS 钥匙串读取,应作为机密保管。语义搜索会把查询解释发送给所配置的 AI 提供商,导出操作会向磁盘写入文件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Scrivener Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Scrivener MCP

[Scrivener MCP logo]

MCP server for Scrivener: connect your novels, screenplays, and manuscripts to Claude, ChatGPT, and any AI assistant, with document management, writing analysis, content enhancement, offline semantic search, and character/plot tracking.


Start with the safe first session, then use editorial review and workflows, export presets, Content Credentials, or the Windows guide. Compatibility evidence records actual coverage and limits.

[CI] [CodeQL] [OpenSSF Scorecard] [npm] [License]

Install · Mac App · 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.

Works with Claude Desktop, Claude Code, VS Code (Copilot/Continue), Cursor, and any MCP-compatible client. Reads Scrivener 3 projects on the supported platforms. Listed on the official MCP Registry as io.github.writerslogic/scrivener-mcp.

[Scrivener MCP capability map: project and document management, local search, persistent memory and story bibles, AI writing, craft analysis, continuity, relationships, goals, dashboards, automation, reviewed edits, and publishing.]

Install

Mac app: Draftbridge for Scrivener, $4.99

Not a terminal person? Draftbridge for Scrivener is the ready-made Mac app. It finds your AI apps — Claude Desktop, BoltAI, Cursor, VS Code, LM Studio, Raycast, Claude Code — connects Scrivener MCP to each with one click, shows your projects, and repairs the connection after an app update. No Terminal, no Node.js, no settings files. One-time $4.99, up to 3 Macs, signed and notarized by Apple.

[Draftbridge showing Claude Desktop and BoltAI connected, and the Scrivener projects it found]   [The Draftbridge purchase window]

The server, setup tool, and Claude Desktop extension here stay free and open source. The app is closed source; the fee buys the notarized build and supports development. See the Mac install guide and FAQ. Report app problems with the mac-app label.

Free: Claude Desktop extension or command line

Prefer to do it yourself? The .mcpb extension (Claude Desktop only) and the terminal setup below do the same job for free.

From a terminal:

bash
npm install -g scrivener-mcp

Restart Claude Desktop and it's ready. Other clients need one more step:

bash
npx scrivener-setup

This finds Claude Desktop, Claude Code, Cursor, VS Code, LM Studio, BoltAI, and Raycast and configures them for you, then confirms the server starts. No Node.js on your Mac? See the Mac install guide. To set up Claude Code by hand instead: claude mcp add -s user scrivener -- npx scrivener-mcp, then restart it (or run /mcp).

Other ways to install

npx, no install

bash
npx scrivener-mcp

or add it to Claude Desktop's config directly:

json
{	"mcpServers": {		"scrivener": { "command": "npx", "args": ["scrivener-mcp"] }	}}

From GitHub

bash
npm install -g writerslogic/scrivener-mcp              # latest main; requires pinned Rust/wasm-packnpm install -g writerslogic/scrivener-mcp#v0.12.0       # a specific release

Homebrew (macOS)

bash
brew install writerslogic/tap/scrivener-mcp

Docker

bash
docker build --platform linux/amd64 -t scrivener-mcp https://github.com/writerslogic/scrivener-mcp.gitdocker run --platform linux/amd64 -i --rm -v /path/to/your/projects:/projects scrivener-mcp

The container uses Linux x64 with glibc because the pinned Narrative Lens 0.2.0 package has no Linux ARM64 or musl binary. Linux ARM64 and musl hosts can use this Docker configuration; ARM hosts need Docker's amd64 emulation. The image runs as the non-root node user; mounted project directories must permit that user to read and write.

Any other MCP client: point it at npx scrivener-mcp as a stdio server.

Optional: AI-powered features

Document management, deterministic analysis, local passage search, and project memory work with no API key. Provider-assisted interpretation, generation and enhancement use Anthropic, OpenAI or OpenRouter. Set more than one and Claude handles chat by default; override with AI_PROVIDER=openai or AI_PROVIDER=openrouter (OpenRouter defaults to anthropic/claude-sonnet-4.6, change it with OPENROUTER_MODEL). If the active provider fails on an account-level error — bad key, no credit, an outage — the server retries on the next one you've configured. If your MCP client supports sampling, chat-based features can run through the client's own model on legacy MCP connections, no separate key needed. MCP 2026-07-28 connections currently use configured providers for AI features; modern multi-round sampling is not implemented. Passage retrieval runs locally through Holographic Memory 0.6.4; interpretation and explanations are optional provider features.

Keys are picked up automatically from:

  • ANTHROPIC_API_KEY / OPENAI_API_KEY / OPENROUTER_API_KEY
  • ~/.env or ~/.scrivener-mcp/.env
  • ~/.anthropic/key, ~/.openai/key, ~/.openrouter/key
  • macOS Keychain (anthropic-api-key / openai-api-key / openrouter-api-key)
bash
security add-generic-password -s anthropic-api-key -a anthropic -w sk-ant-your-key-here   # Keychainexport ANTHROPIC_API_KEY="sk-ant-..."                                                      # or export it directly

What You Can Do

For manuscript operations, open a project first. The server has no link to the Scrivener app itself and can't see what's open there. Say "Open my Scrivener project at ~/Documents/My Novel.scriv", or "Discover my Scrivener projects" if you don't know the path. On macOS, "Use the project I have open in Scrivener" works too (the first time, macOS will ask permission to control Scrivener). Do this once per conversation. If the project is also open and unsaved in Scrivener itself, save or close it there first, or the two can write over each other.

Manage your manuscript. Read chapters, create scenes, reorganize the binder, update synopses — all through conversation. "Create a new scene called 'The Reveal' after Chapter 5, and move the old epilogue to the trash."

Analyze your writing. Readability, pacing, style, dialogue quality, emotional arc — grounded in your actual prose, not generic advice. Ask whether a chapter's pacing is off and get specifics: which paragraphs stall, how the scene compares to your other chapters, filter-word density against your own average.

Enhance your prose. Targeted edits: cut filter words, strengthen verbs, vary sentence structure, add sensory detail, turn telling into showing, tighten dialogue, fix pacing.

Track characters and plot. Character profiles, plot threads, and style guides persist with the project across sessions. Save a profile for a character once; a consistency check months later catches contradictions — dialogue that doesn't sound like them, a limp that disappears for a chapter.

Search by meaning. Warm 0.6.4 combines native BM25 with local embeddings and optional cross-encoder reranking. Configure local ONNX models for general semantic search; the default encoder covers a disclosed English story-concept vocabulary. Results include exact passages, locations and saved revisions; changed passages update incrementally. No embedding provider is required. See local search configuration.

Track relationships. Record and query how characters, locations, themes, and plot threads connect. Relationships persist in the project's local SQLite state. Discovery proposes unrecorded character/location pairs using saved-text co-occurrence with source revisions.

Compile and export. Assemble chapters into one manuscript with your own formatting and structure preserved. Export inline as Markdown, HTML, or JSON, or write a DOCX, EPUB, or PDF to disk.

Sign and validate exports. Activate credentials with use_skill({"name":"credentials"}), then call c2pa_capabilities to inspect the installed SDK. Export a PDF with export_project, sign it to a new embedded output with sign_content_credentials, and check that output with validate_content_credentials. Credential operations run locally without an open project and use administrator-configured signing material. They do not establish human authorship or formal C2PA conformance. See Content Credentials for setup, mode coverage and limits.

All Tools

82 tools organized by workflow. To keep token usage low, tools load progressively — project tools at startup, document and search tools once a project is open, the rest on demand. Set SCRIVENER_MCP_EAGER_TOOLS=1 to load everything up front.

Project -- open, browse, manage
ToolWhat it does
open_projectOpen a .scriv project (accepts .scriv folders or .scrivx files) and make it active
discover_projectsScan common locations for Scrivener projects when you don't know the path
detect_open_projectDetect the project currently open in the Scrivener app (macOS) so you don't need a path
get_structureBrowse the binder hierarchy (folders, documents, word counts)
refresh_projectReload from disk after external edits
close_projectClose the active project and flush pending changes
verify_project_integrityRead-only scan for structural problems (missing/duplicate UUIDs, unreadable content)
get_compile_settingsRead the project's compile formats and taxonomy -- labels/statuses (with colors), collections, section types
get_manuscript_briefingOne "where am I?" snapshot: words vs. target (% to goal), document/status/label counts, longest/shortest documents
list_snapshotsList Scrivener snapshots (title, date) for one document or the whole project
read_snapshotRead a snapshot's text as plain text, with word count
compare_snapshotDiff a snapshot against the current document (or another snapshot): paragraphs added/removed and net word change
create_snapshotTake a Scrivener-native snapshot of a document (restorable from Scrivener's own Snapshots browser) before editing
Documents -- read, write, create, organize
ToolWhat it does
get_document_infoMetadata for one document (title, type, word count, synopsis, label, status)
read_documentRead content; format: "formatted" for rich text, offset/limit to page long docs
write_documentReplace saved content with revision checks, native snapshots and disclosed formatting risks
review_changesPropose, preview, selectively approve or reject, apply batches, recover and undo saved edits
manuscript_dashboardInteractive binder, scene context, pacing, findings and review; text fallback for other clients
create_documentCreate a new text document or folder
update_documentChange title and/or metadata (synopsis, notes, label, status, custom fields)
move_documentReorganize within the binder
delete_documentMove to trash (reversible)
Search -- find content, passages, and mentions
ToolWhat it does
searchLiteral full-text search across the active binder; field: "title" for titles, scope: "trash" for trash
semantic_searchLocal concept-vector passage retrieval, with scores, context and source revisions; no API key
search_passagesLocal keyword, bounded English concept, or hybrid retrieval with exact quoted evidence
find_mentionsLocate every occurrence of a specific name or term, with context
list_trashList trashed documents
restore_documentRestore a document from trash
read_annotationsRead a document's comments and footnotes
Analysis -- quality, consistency, structure
ToolWhat it does
analyze_documentAnalyze complete saved text; analysisTypes steers provider issues, with explicit broad local fallback and revision checks
check_consistencyEvidence-backed continuity report with source revisions, canon and inferred candidates
continuity_findingsConfirm, dismiss, resolve and recheck evidence-bound continuity findings
analyze_writing_styleStyle-focused analysis
check_plot_consistencyPlot-thread consistency check
suggest_improvementsAI-generated improvement suggestions
enhance_contentPropose a complete saved-document rewrite with source revisions; maximum 12000 UTF-16 characters
generate_contentGenerate prose from a prompt, saved-text excerpts and character profiles with revision-checked context
set_writing_goalSet a word-count goal (daily, weekly, or whole project) with an optional target date
get_writing_goalsList goals with progress -- percent complete, words remaining, on-pace status
set_writing_preferencesSet author preferences (tone, complexity, length, POV, style guide) that steer AI output
get_writing_preferencesShow current preferences plus feedback insights and suggestions
collect_feedbackRecord a rating/comment on an AI operation to inform those insights
analyze_manuscript_localLocal manuscript findings with exact evidence, author controls, coverage, persistent baselines and revision comparisons
analyze_narrative_annotationsCheck author-supplied causality, knowledge, promises, subtext and other annotations against saved quotations
analyze_craft_localOffline readability, grammar, syntax-tension, dialogue, and word-frequency report for one document (narrative-lens, no AI call)
check_continuity_localOffline timeline and world-state continuity pass across the manuscript
analyze_foreshadowing_localOffline setup/payoff tracking across scenes
measure_voice_drift_localCompare a character's earlier vs later dialogue for voice drift
analyze_opening_localOffline opening cues, source ranges and coverage; editorial quality remains unassessed
check_style_localLine-edit one document for adverbs, filter words, hedges, clichés, passive voice, nominalizations, and personal tics, each with line and column (bluepencil, no AI call)
find_repetition_localEchoes (a word reappearing within a window) and repeated phrases, with both locations
analyze_rhythm_localSentence-length distribution, monotonous runs, overlong sentences, and repeated openers
analyze_dialogue_tags_localDialogue ratio and every quoted line's tag classified as plain, showy, adverb-modified, or untagged
manuscript_style_report_localPer-document style density across the manuscript with word-weighted means and outliers

Manuscript comparisons include comparisonBaseline.name and its original envelope, alongside the current result's envelope, so both saved source revisions remain identifiable after a baseline name is reused.

Enhancement types: eliminate-filter-words, strengthen-verbs, vary-sentences, add-sensory-details, show-dont-tell, improve-flow, enhance-descriptions, strengthen-dialogue, fix-pacing, expand, condense, rewrite

Compile & Export -- assemble and ship the manuscript
ToolWhat it does
compile_documentsCombine documents; mode: "structured" compiles the Draft folder with the binder hierarchy as headings and honors "Include in Compile" (no AI), mode: "intelligent" for AI-optimized output
export_projectWrite the manuscript to disk -- Markdown, HTML, JSON inline, or DOCX, EPUB, PDF as a file
read_resultRetrieve large compiled/analysis results in bounded UTF-8 chunks without filesystem tools
export_manuscriptPreflight and export submission DOCX, beta-reader DOCX and validated EPUB presets
get_statisticsProject-level word/document/character counts
generate_marketing_materialsDraft synopsis, query letter, pitch, and related materials

Intelligent compilation returns provider warnings, explicit quality availability, and saved-source revisions. Rewrites require the complete source to fit 12000 UTF-16 characters; otherwise the complete original is preserved. Quality opinions cover at most 4000 characters and identify that coverage. Marketing generation reads the saved Draft by default; use documentIds to select a smaller scope within the same 12000-character limit. Both reject source changes during generation and provide read_result references for large output.

Content Credentials -- local asset signing and validation

Activate the credentials skill on demand; these tools do not require an open project.

ToolWhat it does
c2pa_capabilitiesInspect actual SDK availability, declared format/mode coverage, limits and unassessed conformance status
sign_content_credentialsSign a local asset to a distinct new embedded or supported .c2pa sidecar output using administrator-configured credentials
validate_content_credentialsValidate a local asset and optional sidecar; report integrity separately from signer trust, with raw reports opt-in

Format declarations are not proof of native compatibility. Use the Content Credentials guide and per-format native evidence before making coverage claims.

Memory -- persistent project knowledge
ToolWhat it does
rememberStore information that persists across sessions with the project
manage_seriesCreate, join or leave an explicitly scoped series of selected projects
story_bibleCurate shared characters, aliases, locations, world rules and chronology with provenance
recallRetrieve previously stored memory

Project memory travels within each .scriv project. Explicit series memberships and shared facts use the server's persistent registry; see editorial workflows.

remember validates nested records and acknowledges the saved snapshot with its revision and record ID. Use that ID for updates; identical creations reuse their ID, and unknown update IDs fail. Unrecorded profile fields, style preferences and writing statistics stay absent. worldBuilding stores named records, for example { name: "Moon Harbor", type: "location" }; all merges custom JSON by key. Requests are capped at 64 KiB and complete project memory at 16 MiB. Large recall results use read_result. Earlier custom world data remains available under recall with all.

Relationships -- entity connections and story graph
ToolWhat it does
add_relationshipStore a relationship between characters, locations, themes, or plot threads
find_relationshipsQuery entities related to a given character/theme/location
discover_connectionsFind unrecorded pairs of known characters/locations that co-occur in saved Draft documents, with source revisions
character_networkThe character relationship network
get_entity_referencesTrace the reference graph in either direction: entities a document mentions (by documentId), or documents mentioning an entity (by entity)
find_orphaned_entitiesList registered characters/locations that no document actually mentions
suggest_connectionsSuggest entities a document may be missing, inferred from cross-document co-occurrence

Relationship tools use project-owned SQLite without an external service. Storage admits up to 10000 relationships; names contain at most 128 UTF-16 characters and labels 64. Discovery covers the characters and locations already recorded in that graph, up to 256 entities, 1000 Draft documents, 2 Mi UTF-16 source characters and a source-character count multiplied by entity count of at most 134217728. Its score is the fraction of documents mentioning both entities among those mentioning either; it is a candidate association, not a confirmed story fact. Result limits disclose omitted candidates, and large responses use read_result. Relationship queries page in stable identity order using nextOffset and graphRevision; edits require restarting the query. Document cross-reference tools use the character/location registries and saved text, including Research and Draft items excluded from Compile. Document queries read only the requested document; entity-wide queries and suggestions inspect all active text within the same source limits. They disclose missing registries, reject source/registry changes, and preserve every admitted match offset (up to 1000000 positions and 16 MiB of serialized mention records).

Background Jobs -- long-running analysis
ToolWhat it does
queue_document_analysisAnalyze supplied document text asynchronously; returns a job id
queue_project_analysisAnalyze an ordered batch of supplied document texts
get_job_statusPoll progress/results for a queued job
get_queue_statsInspect project-scoped queue counts, connectivity and legacy migration guidance
editorial_workflowRun chapter review, continuity audit or beta-reader preparation with durable progress and resuming
cancel_jobRequest cancellation; running embedded work finishes internally and its result is discarded

Queued analysis always runs local prose analysis and includes readability by default. Optional named entities require a native build with ONNX support and a loaded NER model; unavailable results are explicit. Optional sentiment uses a local lexicon heuristic. Source revisions hash the supplied UTF-8 text, and the envelope identifies this raw policy separately from saved RTF analysis and saved project controls. Project batches preserve input order and run sequentially unless parallel is selected, with at most five documents in flight. Large completed results return a _ref retrieved through read_result. Redis/KeyDB cannot remove an active job; embedded cancellation prevents work that has not started and discards the result of work already running.

suggest_improvements accepts async: true for the same suggestion result through get_job_status. With useContext: true, documentId is required: generation uses up to the first 16000 UTF-16 characters of that saved document and rejects a changed revision. Its result reports the exact excerpt range, truncation and source revision. The default useContext: false sends only the prompt. Suggestions use the configured provider or client sampling, and queued generation is not automatically retried. Large synchronous and queued results use read_result references.

analyze_writing_style accepts 1–64 nonempty text samples, each up to 64000 UTF-16 characters. Its provider prompt includes at most 8000 characters including separators; coverage reports the range used from every sample, including any omitted samples. Missing or malformed profile fields are explicitly unavailable, partial finding lists preserve valid entries, and sample revisions hash the original supplied UTF-8 text. Large profiles also use read_result references.

Discovery -- explore capabilities
ToolWhat it does
list_skillsList the available tool groups and their tools
use_skillActivate another tool group on demand

Guides

  • Getting Started -- Installation, configuration, your first session
  • MCP Client Setup -- Copy-paste config for Claude Desktop, Claude Code, Cursor, and VS Code
  • Writing with AI -- Analysis workflows, enhancement strategies, memory management
  • Troubleshooting -- Common issues and fixes
  • Token Optimization -- How the server minimizes context window usage
  • Architecture -- How the server works, module structure, data flow
  • Scrivener Compatibility -- Supported Scrivener versions, platforms, and format coverage
  • Content Credentials -- Local C2PA signing and validation, administrator setup, tested modes and conformance limits
  • Scrivener File Format -- The reverse-engineered .scriv format, what we read vs. infer, and safe-modification guidance
  • Fuzzing -- Jazzer.js target and OSS-Fuzz integration details
  • Contributing -- Development setup, code conventions, adding new tools

Requirements

  • Stable Node.js ^22.23.4 || ^24.22.1 || >=26.12.1 (24.22.1 or newer on Node 24 recommended)
  • Scrivener 3 project files (.scriv)
  • Native npm/npx installs: macOS x64/ARM64, Windows x64, or Linux x64 with glibc. Architecture refers to the Node.js runtime.
  • Optional: Anthropic, OpenAI, or OpenRouter API key for provider-backed AI features
  • Optional: Neo4j for persistence and advanced graph queries; core relationship tools work without it

The patched floors protect Node TLS paths used by the pinned CAI native SDK; SQLite 13 also requires Node-API 10. Node 23 and 25 are excluded. See the runtime compatibility policy.

Development

See the compatibility and upgrade policy for runtime checks, protocol contracts, dependency upgrades and the stable release gate.

bash
git clone https://github.com/writerslogic/scrivener-mcp.gitcd scrivener-mcpnpm install --ignore-scripts# Install the pinned Rust/wasm-pack tools listed in native/c2pa-binding/README.mdnpm run build:c2pa   # Generate the engine from sourcenpm run dev          # Development mode with hot reloadnpm run build        # Compile TypeScriptnpm test             # Run testsnpm run typecheck    # Type checking only

Why This One?

A few Scrivener MCP servers exist. Our column describes the current server; other feature claims come from each project's own docs, published package, and advertised tools, last re-read on 2026-10-22; stars, forks, activity, and published version were refreshed

2026-11-02. "No" means undocumented — not

necessarily impossible through the connected AI client.

Featurescrivener-mcpjiayunTwelveTakeScrivener Assistantricopiconezaphodsdad
Public MCP tools823022381810
Manuscript accessread/writeread/writeread/writeread-only; writes sidecar data/metadataread-only by default; opt-in content/notes/synopsis writesread-only
RTF handlingformatted reads; fidelity-preserving span writesreads/writes document contentreads/writes document contentconverts RTF to text; manuscript read-onlyRTF-to-text reads; snapshot-protected content writesconverts RTF to text; read-only
Built-in writing analysisreadability, pacing, style, emotion, AI critiquereadability, style, sentimentcontinuity comparisonagent-driven five-point review workflowno dedicated analysis toolno dedicated analysis tool
Content generation/enhancementgeneration + 12 targeted enhancement typesnonobrainstorm/draft agent workflownono
Local semantic retrievallocal concept vectors, BM25 and quoted passagesnonononono
Continuity/project memorypersistent memory + consistency checkspersistent notes + consistency checksmention/description comparisonworld bible, story state, characters, locations, review historyno persistent memoryno persistent memory
Relationship toolingpersistent relationships, networks, reference graph; optional Neo4jnonohuman-editable relations datanono
Token optimizationprogressive skill loading, compact output, paged readsno documented equivalentno documented equivalentno documented equivalentscoped binder/chapter readsscoped overview/read tools
Export / compilationMarkdown, HTML, JSON, DOCX, EPUB, PDFcompile + whole-draft exportPDFsaves AI drafts; no manuscript export documentednono
Windows supportnative CI verified; synthetic projectsyes (prebuilt binary)yesnot documentednot documentedyes
Installationnpm, Homebrew, Docker, or the Draftbridge Mac appcrates.io, prebuilt binary, or sourcenpm package (deprecated)MCPB or sourcesource / uvsource / pip install -e
LicenseAGPL-3.0 / commercial dual-licenseMITMITMITnot declaredMIT
Repository/package statusweekly activity; npm 0.12.0occasional activityremoved from npmoccasional activityoccasional activity; no releasesrepository unavailable
Community⭐ 70 · 24 forks⭐ 7source repository unavailable⭐ 1⭐ 0unavailable

Counts and feature claims can change. Follow the linked projects for their own latest documentation. The table is generated from docs/comparison.yml — edit claims there, not here.

The alternative that isn't an MCP server

Scrivener can also Sync to External Folder, writing each document out as RTF or plain text, which any generic file-access MCP server (like @modelcontextprotocol/server-filesystem) can then read and write.

It's free and works today. What you lose is everything tied to the actual project — binder hierarchy, metadata, labels and status, snapshots, compile settings, RTF formatting — and edits land in the sync folder rather than the project itself, so a bad edit gets reconciled by Scrivener on the next sync instead of caught before it happens. Fine for occasional read-only help with prose; not if you want the structure to survive the round trip.

Contributing

We welcome contributions of all sizes. Check the issue tracker for good first issue labels, or see the contributing guide for development setup.

Areas where help is especially welcome:

  • Test coverage (#18)
  • Windows testing and path handling
  • Scrivener 2 compatibility testing
  • Documentation improvements (#25)

Security

Found a vulnerability? Please report it privately — see SECURITY.md.

License

AGPL-3.0 © WritersLogic, Inc.

Scrivener is a trademark of Literature & Latte Ltd. This project is independent and is not affiliated with, endorsed by, or sponsored by Literature & Latte.

Free for personal use and open-source projects. Commercial license available for proprietary integration. See COMMERCIAL_LICENSE.md for details.


Also from WritersLogic: WritersProof witnesses your keystrokes, pauses, and revisions as you write, then seals that process into tamper-evident, independently verifiable proof you wrote it yourself — AI accusations, settled with evidence instead of your word.

[scrivener-mcp MCP server]

GitHub · npm · Issues · Changelog

MCP 2026-07-28 uses server/discover and a stable full tool catalog. Each request supplies the protocol version and client capabilities in MCP _meta. open_project returns a com.writerslogic/project token in result _meta; include that token in subsequent project tool requests. Opening another project invalidates the previous token. Calls are serialized per stdio connection. Legacy MCP initialization and progressive skill discovery remain available.

来源:README.md,提交 cc4fd49

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.12.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分