notes-vault-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| S3_BUCKET | No | Bucket holding the vault. | |
| S3_PREFIX | No | Key prefix inside the bucket. Optional. | |
| S3_REGION | No | Region, default us-east-1. | us-east-1 |
| VAULT_PATH | No | Directory holding the vault. Selects the local backend. | |
| S3_ENDPOINT | No | Endpoint URL, e.g. https://minio.example.com. | |
| VAULT_TOKEN | No | Bearer token. Required by --transport http. | |
| VAULT_SCHEMA | No | Local path to a schema file, overriding the one in the vault. | |
| S3_ACCESS_KEY | No | Access key. | |
| S3_SECRET_KEY | No | Secret key. | |
| VAULT_CACHE_DIR | No | Where the index lives, default ~/.cache/notes-vault-mcp. | |
| VAULT_STOP_HOOK | No | Set to 'off' to disable the stop hook. |
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | CHEAP — start here. Full-text search over the local SQLite index of the vault; it never downloads the whole vault. Matches title, summary, tags and body, folds diacritics, expands synonyms and accepts "quoted phrases". A bare commit sha looks up the notes that mention it. Excludes the archive and superseded notes unless you ask for them, and reports how many it hid. |
| read_fileA | MODERATE — one round trip to storage. Returns the note with an |
| write_fileA | WRITE — validates the frontmatter against the vault schema and refuses the write if it does not hold. Stamps |
| append_fileA | WRITE — appends to a note and bumps |
| move_fileA | WRITE — moves or renames a note. Use |
| delete_fileA | WRITE — deletes a note for good. Prefer |
| list_filesA | CHEAP — paths only, no metadata and no bodies. |
| closeA | WRITE — finishes a note: sets status complete (or superseded with superseded_by when merged_into is given) and moves it into the archive. Run it in the same pass as the last commit of the work; a note left open is what makes the vault drift. |
| log_appendA | WRITE — appends one dated line to the repo log, with the commits it produced. Run once at the end of a session per repo. Creates the log note when it is missing. |
| contextA | CHEAP — the session-start call. Returns the system notes covering the code at |
| lintA | MODERATE — reads every note to report drift: broken frontmatter, missing required fields, missing area, unresolved wikilinks, orphans, stale open tasks, archived notes still marked active, duplicate stems and superseded targets that do not exist. |
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 11 tools
Each tool owns a clearly distinct operation: search/list_files/context/lint cover different discovery and integrity concerns, while read_file/write_file/append_file/move_file/delete_file/close/log_append cover separate mutation or lifecycle actions. Even the pair write_file/append_file is well separated by full-file conditional write versus append-and-create behavior.
Most file operations follow a clean verb_noun pattern (read_file, write_file, append_file, move_file, delete_file, list_files), but search, close, context, and lint are single words and log_append reverses the pattern. The naming is readable and grouped by function, but it is not consistently predictable across the whole surface.
Eleven tools is well within the ideal scope for a notes vault server: discovery, read/write, move/delete, archive, session context, logging, and lint each have a dedicated tool. No tool feels redundant or like filler.
The surface covers the core lifecycle thoroughly: search/read/create/update/append/move/delete/archive, plus session context, logging, and lint. The main gap is the lack of an explicit restore/reopen operation for archived notes, though move_file combined with write_file can work around it.