story-vault-mcp
MCP server for Story Vault — a local-first writing app. This server lets any MCP-compatible AI client (Claude Desktop, Cursor, Cline, Qwen Chat, …) read and write your encrypted Story Vault project data: scenes, characters, world notes, ideas, the main story/manuscript, and project memory.
This is the Python distribution (uvx story-vault-mcp). The server itself is a
Node.js program; this package embeds it and launches it for you. Node.js >= 18 is
required on PATH.
Install / run
uvx story-vault-mcp
Or install with pip:
pip install story-vault-mcp
story-vault-mcp
Configuration
The server needs three environment variables (your vault PIN is used only to decrypt the database and is never exposed to the AI):
| Variable | Required | Purpose |
|---|---|---|
STORY_VAULT_PIN |
yes | Your vault PIN. |
STORY_VAULT_DATA_DIR |
no | Path to the vault data dir (default <cwd>/data). |
STORY_VAULT_PROJECT_ID |
no | Default project ID — tools can omit project_id. |
Claude Desktop
Edit claude_desktop_config.json:
{
"mcpServers": {
"story-vault": {
"command": "uvx",
"args": ["story-vault-mcp"],
"env": {
"STORY_VAULT_PIN": "your-pin",
"STORY_VAULT_PROJECT_ID": "1",
"STORY_VAULT_DATA_DIR": "C:/path/to/your/vault/data"
}
}
}
}
Other clients (Cursor, Cline, …)
Use the same command/args/env shape in the client's MCP configuration.
Tools
37 tools covering the full project surface — see the project's ARCHITECTURE.md
("MCP Server (External AI Access)" section) for the complete list. Highlights:
list_projects/get_project/create_project/update_projectlist_scenes/read_scene_content/create_scene/save_scene_version(writes prose)list_characters/create_character/update_characterlist_world_notes/create_world_notelist_ideas/create_ideaget_main_story/add_scene_to_story/reorder_main_storylist_memory/add_memory/search_memory
Security
- The PIN is consumed only to derive the SQLCipher key (scrypt, N=4096). No tool output contains it.
- User metadata, AI provider settings/API keys, and filesystem paths are never returned.
- Every call enforces project ownership against the vault's local user.
Building from source
# from the repo root: bundle the Node server and copy it into this package
pnpm build:mcp:npm
cp mcp/npm/dist/index.cjs mcp/python/story_vault_mcp/mcp_server.cjs
cd mcp/python && uv build
HTTP mode (optional)
story-vault-mcp --http starts a Streamable HTTP server on 127.0.0.1:3100/mcp
(port via STORY_VAULT_PORT).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file story_vault_mcp-2.0.2.tar.gz.
File metadata
- Download URL: story_vault_mcp-2.0.2.tar.gz
- Upload date:
- Size: 488.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a76c59773d69fd1b2fbef4140deff5153e1401fc47db0027aa30ae46e01617c
|
|
| MD5 |
2178011fe0898be86f449f0fae3ac88a
|
|
| BLAKE2b-256 |
ea343d53e068aa7c7b1d328403fcefe798781ce656154f09c5ad4eca2922a73e
|
File details
Details for the file story_vault_mcp-2.0.2-py3-none-any.whl.
File metadata
- Download URL: story_vault_mcp-2.0.2-py3-none-any.whl
- Upload date:
- Size: 492.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3747535f0f1da1dea0e71f49c9879a9deb7d47641e55fa952a9ba112de53d15d
|
|
| MD5 |
f1759390cc20ab8aa19189e8983d8b5e
|
|
| BLAKE2b-256 |
97de928160b57e7b89a7b33f9dddaf8e3bfdc12a799cccd47211e5640ec1c6a6
|