scrivener-mcp
scrivener-mcp
Ein lokaler MCP-Server, der Ihre Scrivener-Projekte für Claude (oder jeden anderen MCP-kompatiblen Client) zugänglich macht. Erstellen Sie neue Projekte von Grund auf, navigieren Sie durch den Binder, lesen und schreiben Sie Dokumentinhalte und aktualisieren Sie Metadaten – alles ohne Scrivener zu öffnen.
Voraussetzungen
Node.js 18 oder neuer
Scrivener 3 unter macOS (
.scriv-Pakete)
Related MCP server: Mac MCP
Einrichtung
cd scrivener-mcp
npm installUmgebungsvariablen
Variable | Beschreibung |
| Pfad zu einem Verzeichnis, das |
| Pfad zu einem einzelnen |
|
|
Mindestens eine der Variablen SCRIV_DIR oder SCRIV_PATH muss gesetzt sein. Beide können gleichzeitig gesetzt werden.
Manuelles Ausführen
# Multi-project mode (recommended)
SCRIV_DIR="/path/to/ScrivenerProjects" npm start
# Single-project mode
SCRIV_PATH="/path/to/MyProject.scriv" npm startKonfiguration von Claude Desktop
Bearbeiten Sie die Konfigurationsdatei von Claude Desktop:
Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Mac:
{
"mcpServers": {
"scrivener": {
"command": "node",
"args": ["/absolute/path/to/scrivener-mcp/src/index.js"],
"env": {
"SCRIV_DIR": "/Users/you/Writing/ScrivenerProjects"
}
}
}
}Windows:
{
"mcpServers": {
"scrivener": {
"command": "node",
"args": ["C:\\path\\to\\scrivener-mcp\\src\\index.js"],
"env": {
"SCRIV_DIR": "C:\\Users\\you\\Documents\\ScrivenerProjects",
"SCRIV_PLATFORM": "windows"
}
}
}
}Starten Sie Claude Desktop nach dem Speichern neu.
Verfügbare Tools
Projektverwaltung
Tool | Beschreibung |
| Listet alle |
| Öffnet ein Projekt anhand des Namens und macht es für alle Dokument-Tools aktiv. |
| Erstellt ein neues Projekt und öffnet es. Siehe unten. |
Dokument-Tools (erfordern ein geöffnetes Projekt)
Tool | Beschreibung |
| Gibt den vollständigen Binder als verschachtelten Baum mit Synopsen, Labels und Status zurück. Der beste Ausgangspunkt, um die Struktur eines Projekts zu verstehen und daran zu arbeiten. |
| Gibt den Binder als flache Liste mit Tiefenindikatoren zurück. Nützlich, um UUIDs zu erhalten. |
| Gibt Metadaten und Klartextinhalt für ein einzelnes Dokument zurück. |
| Fügt dem Binder ein neues Dokument oder einen neuen Ordner hinzu. |
| Verschiebt ein Binder-Element in einen anderen übergeordneten Ordner. |
| Schreibt neuen Klartextinhalt in ein Dokument (wird als RTF gespeichert). |
| Aktualisiert Titel, Synopsis, Label, Status oder die Einbindung in die Kompilierung. |
| Durchsucht Titel und Synopsen im gesamten Binder. |
Erstellen eines Projekts
create_project akzeptiert eine vollständige Binder-Struktur, sodass Claude ein gesamtes Projekt aus einer Idee in einem einzigen Aufruf erstellen kann.
Parameter
Parameter | Typ | Beschreibung |
| string | Projektname (wird zum Namen des |
| array | Label-Definitionen. Jedes ist ein String oder |
| array | Statusnamen. Standard: To Do, In Progress, First Draft, Revised Draft, Done. |
| array | Binder-Elemente im Entwurfs-Ordner (Manuscript). |
| array | Binder-Elemente im Recherche-Ordner (Research). |
Struktur der Binder-Elemente
{
"title": "Chapter 1",
"type": "Folder",
"synopsis": "Alice finds the letter and confronts Bob.",
"content": "Optional initial body text (Text items only).",
"label": "POV: Alice",
"status": "To Do",
"includeInCompile": true,
"children": [...]
}type:"Folder"für Container (Akte, Teile, Kapitel);"Text"für Dokumente (Szenen, Notizen). Standard ist"Text".synopsis: Der Text der virtuellen Karteikarte — erscheint in Scriveners Korkwand- und Gliederungsansichten. Schreiben Sie eine 1–3-sätzige Zusammenfassung dessen, was passiert oder was dieses Element abdeckt.labelundstatusmüssen mit den Namen übereinstimmen, die in denlabels- undstatuses-Arrays des Projekts definiert sind.
Beispiel
{
"name": "My Novel",
"labels": [
{ "name": "POV: Alice", "color": "blue" },
{ "name": "POV: Bob", "color": "red" }
],
"statuses": ["To Do", "First Draft", "Revised", "Done"],
"manuscript": [
{
"title": "Act One",
"type": "Folder",
"synopsis": "Alice discovers the conspiracy.",
"children": [
{
"title": "Chapter 1",
"type": "Folder",
"synopsis": "A normal Tuesday turns strange.",
"children": [
{
"title": "The Letter",
"type": "Text",
"synopsis": "Alice finds an unsigned letter in her mailbox.",
"label": "POV: Alice",
"status": "To Do"
}
]
}
]
}
],
"research": [
{
"title": "Characters",
"type": "Folder",
"children": [
{
"title": "Alice",
"type": "Text",
"synopsis": "Protagonist. Mid-30s journalist, sceptical but curious."
}
]
}
]
}Kollaborativer Arbeitsablauf
Das beabsichtigte Muster ist, gemeinsam mit Claude an der Struktur und dem Inhalt eines Projekts zu arbeiten und dabei die eigenen Organisationsfunktionen von Scrivener zu nutzen:
Beginnen Sie mit
get_outline— Claude liest die vollständige verschachtelte Struktur mit Synopsen, bevor Änderungen vorgeschlagen oder vorgenommen werden. So versteht die KI die Form der Geschichte.Bauen Sie die Struktur mit
add_documentauf — Fügen Sie Szenen, Kapitel, Akte oder Recherche-Notizen an einer beliebigen Stelle in der Hierarchie hinzu. Fügen Sie immer eine Synopsis hinzu; sie ist das, was auf der Karteikarte in Scriveners Korkwand erscheint.Strukturieren Sie mit
move_documentum — Verschieben Sie Elemente zwischen übergeordneten Ordnern, um die Erzählung neu zu strukturieren, ohne Inhalte oder Metadaten zu verlieren.Schreiben Sie Prosa mit
write_document— Sobald die Struktur vereinbart ist, füllen Sie die Szenen mit Inhalten.Verfolgen Sie den Fortschritt mit
update_metadata— Aktualisieren Sie Labels (z. B. POV, Szenentyp) und Status (z. B. First Draft, Revised), während die Arbeit voranschreitet.
Hinweise
Schließen Sie Scrivener vor dem Schreiben.
write_document,update_metadata,add_documentundmove_documentändern Projektdateien direkt. Wenn Scrivener das Projekt geöffnet hat, überschreibt es die Änderungen beim nächsten automatischen Speichern.Nach dem Bearbeiten in Scrivener neu laden. Rufen Sie
open_projecterneut auf, um ein Projekt neu zu laden, das in Scrivener geändert wurde, während der Server lief.write_documentgeneriert minimales RTF, das mit Scrivener 3 kompatibel ist. Nicht-ASCII-Zeichen werden als Unicode maskiert.Label- und Status-IDs sind über
list_documentsauffindbar —labelId/statusIdsind die rohen IDs,label/statussind die aufgelösten Namen.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceA lightweight MCP server that bridges AI agents and macOS, enabling automation of file navigation, application control, UI interaction, browser automation, and system operations.147MIT
- Alicense-qualityBmaintenanceA local macOS MCP server for AI Agents that exposes safe endpoints for shell commands, files, processes, macOS automation, browser control, and more.2MIT

datacore-mcpofficial
AlicenseAqualityCmaintenanceMCP server exposing Datacore's knowledge base, GTD, and engram memory to any AI assistant.515MIT- AlicenseAqualityCmaintenanceMCP server that exposes local Python scripts as tools for AI clients (e.g. Claude Desktop), enabling directory tree generation, Excel-to-text conversion, Python code extraction, and text file merging.51MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for generating rough-draft project plans from natural-language prompts.
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sschmitt-cg/scrivener-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server