vaults
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VAULTS_ROOT | No | Root directory for vaults. Defaults to ~/.vaults. Can also be set via the --vaults-root command-line flag, but that is not an environment variable. | |
| VAULTS_HUB_GIT | No | Set to '0' to disable git versioning; history and restore will then return errors. | |
| VAULTS_HUB_DEBUG | No | Set to '1' to enable debug file logging; anything else disables it. |
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 |
|---|---|
| list_vaultsA | List all project vaults with their note counts. |
| create_vaultA | Create a new vault (one subdirectory of the vaults root). Idempotent: returns created=False when the vault already exists. |
| delete_vaultA | Delete a whole vault: removes every note, lock file and the git history. Irreversible with no undo in this server; confirm must exactly equal the vault name. |
| list_notesA | List directories and notes under a vault path (vault-root-relative, '' for root). Pass recursive=True to list all descendant notes flat (dirs=[]). Paginate with offset/limit (default limit 200, max 500); the response carries total (full match count), truncated, and next_offset (None when done). |
| read_noteA | Read a note: frontmatter, content, wiki-links, backlinks, unresolved links. |
| write_noteA | Create or atomically overwrite a note (vault-root-relative path). Pass sha256 from a prior read/write as expected_sha256 to prevent overwriting a changed note. Refreshes the frontmatter |
| append_noteA | Append text to a note (created if missing) via an atomic write. Optionally pass expected_sha256 to prevent appending to a changed note. Refreshes the frontmatter |
| delete_noteA | Delete a note file. Errors when missing unless missing_ok=True. Lock files are intentionally left in place. |
| move_noteA | Move/rename a note via copy+delete (not atomic): the destination is written atomically, then the source is unlinked, and a partial destination is cleaned up on failure. Errors if src is missing or dst exists. Honors expected_sha256 against src. Refreshes |
| historyA | Show version history for a note (or the whole vault) from the local git repo: [{sha, date, message}] with a truncated flag when more commits exist beyond limit (clamped 1-200). An untracked path returns an empty list with untracked:true. |
| restoreA | Restore a note's content from a past revision (git rev, e.g. a history sha); the response echoes the revision as restored_from. Snapshots dirty worktree state first; recreates deleted notes. Honors expected_sha256 against current content. |
| list_tagsA | List tag counts per vault from cached frontmatter. Pass vault for one vault, or omit for all vaults. |
| search_notesA | Search .md note contents with ripgrep across one vault or all vaults. regex=True uses ripgrep's Rust syntax (Python re when ripgrep is absent), so lookarounds and backreferences are not portable. limit is clamped 1-200 and the response carries a truncated flag; before/after (0-10) add context lines. With context each hit keeps text (= match_line) plus before_lines/match_line/after_lines, otherwise only text. |
| server_infoA | Report server version, Python/platform, git and ripgrep availability, whether git versioning is enabled, the local vaults root path, and the vault count. This is a local stdio server; the vaults root path is intentionally exposed. |
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 14 tools
Each tool maps to a distinct operation: read/list per entity, create/delete/move notes, git history/restore, and search/tags. Overlaps like write_note vs append_note are clearly distinguished by overwrite semantics, and list_vaults/list_notes/list_tags target different scopes.
Consistent verb_noun snake_case throughout (read_note, list_vaults, create_vault, delete_note, move_note, list_tags, search_notes). Single-word tools like history, restore, and server_info are intuitive and fit the pattern.
14 tools is well-scoped for a vault/notes server, covering CRUD, navigation, versioning, and search without redundancy. Every tool earns its place.
Full lifecycle coverage: vault create/delete/list, note read/write/append/delete/move/list, git history/restore, tags, search, and server_info. No obvious dead ends for the stated domain.