Scrivener MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| open_projectC | Open a Scrivener project (.scriv folder) |
| get_structureC | Get the hierarchical structure of the project binder |
| read_documentB | Read the content of a document. Optionally includes synopsis (index card text). |
| write_documentC | Write content to an existing document |
| create_documentC | Create a new document or folder in the project |
| delete_documentC | Move a document to trash |
| move_documentC | Move a document to a different folder |
| rename_documentC | Rename a document |
| search_contentC | Search for content across all documents |
| read_synopsisC | Read the synopsis (index card text) of a document |
| write_synopsisC | Write or update the synopsis (index card text) of a document |
| get_compile_orderB | Get the list of documents in compile order from the Draft/Manuscript folder. Useful for seeing what will be included in a compile. |
| compile_manuscriptB | Compile the manuscript to a PDF file. Only includes documents marked 'Include in Compile'. |
| word_countC | Get word count for a specific document or the entire manuscript |
| append_to_documentA | Append content to the end of an existing document without replacing existing content |
| set_include_in_compileC | Set whether a document should be included in compile |
| read_notesC | Read the notes (inspector notes) for a document |
| write_notesC | Write or update the notes (inspector notes) for a document |
| batch_readA | Read multiple documents at once. More efficient than multiple read_document calls. |
| search_with_contextC | Search for a term and return matches with surrounding paragraphs for context |
| find_all_mentionsB | Find all sentences mentioning a term across the manuscript. Useful for checking character/place consistency. |
| compare_descriptionsC | Find all descriptive sentences for a term (sentences with 'was', 'had', 'looked', etc.). Helps identify inconsistent descriptions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Each tool has a clearly distinct purpose with no significant overlap. For example, read_document, read_synopsis, and read_notes target different document attributes, while search_content and find_all_mentions serve distinct search functions. The descriptions effectively differentiate tools, preventing misselection.
Tool names follow a consistent verb_noun pattern throughout, such as create_document, delete_document, and move_document. All names use snake_case, and verbs like read, write, search, and get are applied predictably across related tools, making the set highly readable and uniform.
With 22 tools, the count is slightly high but reasonable for a comprehensive writing assistant server covering document management, search, compilation, and metadata operations. It avoids bloat by ensuring each tool serves a specific function, though it borders on the heavy side for typical MCP servers.
The tool set provides complete CRUD/lifecycle coverage for Scrivener projects, including create, read, update, delete, move, rename, compile, and search operations. It also handles specialized writing tasks like synopsis and notes management, with no obvious gaps that would hinder agent workflows in this domain.