vault-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VAULT_LOCAL_PATH | Yes | Absolute path to your local vault directory |
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 |
|---|---|
| vault_captureA | Capture a refined insight into the vault, or delete an existing capture. Actions: save: Save a new capture. params: title (str, ≤50 chars), insight (str, 1–3 sentences), source_type (str, default "conversation" — also "article" or "flash"), original (str | None), tags (list[str] | None) delete: Permanently delete a capture file. params: path (str, required — must be in captures/) WORKFLOW — Claude MUST follow these steps before calling this tool: For save:
For delete:
|
| vault_promoteB | Promote one or more captures into a structured note. Actions: promote: Promote captures into a note. params: capture_paths (list[str]), title (str), summary (str), domain (str), content (str), tags (list[str] | None), aliases (list[str] | None), confidence (float, default 0.7), auto_link (bool, default True) WORKFLOW — Claude MUST follow these steps:
|
| vault_readA | Read and search vault content. Actions: search: Search vault notes. params: query, directory, tags get: Read a single file's full content. params: path list_captures: List captures filtered by status, sorted newest first. params: status ("capture" | "promoted" | "all"), limit (default 50), include_content (default False) |
| vault_analyzeA | Analyze vault knowledge graph. Actions: rebuild_graph: Build or incrementally update the knowledge graph from notes/ and topics/. Returns node/edge counts. clusters: Run Louvain community detection. Cached if graph unchanged. params: limit, offset connections: Subgraph around a note + common-neighbor recommendations. params: path (required), depth (default 1), limit (default 50) orphans: Notes with no inbound or outbound links. params: limit (default 50), offset (default 0) |
| vault_topicA | Manage topic lifecycle: prepare materials, create, or update. Actions: prepare: Gather structured materials for topic creation/update. Uses progressive disclosure — returns summaries, not full content. params: cluster_id OR note_paths (pick one). topic_path (optional, for staleness detection on update). create: Write a new topic to topics/. params: title, content (Claude-generated body), domain, tags, member_notes, aliases update: Update an existing topic. params: topic_path (required), content (optional, new body), member_notes (optional, updated list), tags (optional) WORKFLOW — Claude MUST follow these steps:
|
| vault_reflectA | Reflect on your knowledge vault — what you've been thinking about, how your interests are evolving, and what connections you might be missing. Actions: snapshot: What does my knowledge look like right now? Topics, connections, and what's been on my mind. Auto-saved to .brain/snapshots/. drift: How has my focus shifted? What's growing, what's cooling down, and where my curiosity is heading. params: since_days (default 30) blindspots: What am I missing? Isolated ideas that could be connected, and surprising bridges between clusters. params: limit (default 50) |
| vault_initA | Initialize a new vault or migrate existing Obsidian notes to vault-mcp format. Actions: setup: Detect vault state and act accordingly. - Empty vault: seeds the vault with template structure (directory layout, .obsidian config, tags.yaml, templates/). - Non-empty vault with unmanaged files: scans all unmanaged .md files, classifies them into auto_captures / auto_notes / ambiguous using server-side heuristics, persists a plan to .brain/import-plan.json, and returns ONLY the ambiguous files for review. Claude should NOT call migrate until the user confirms. - Already-initialized vault: returns status "already_initialized". migrate: Execute the migration from the persisted import plan. params: manual_overrides (list[dict], optional — each dict must have "path" key to identify the file; supported override fields: target ("captures"|"notes"), title, tags (list[str]), source_type (captures), domain/confidence (notes)), keep_original (bool, default False — if True, source files are preserved after migration) WORKFLOW: For setup: CALL vault_init(action="setup"). Empty vault → vault seeded from template. Done. Non-empty vault → review summary + ambiguous_files. 1. Present summary counts to user. 2. For ambiguous files, decide target with user if needed. 3. CONFIRM full plan, then call migrate. For migrate: CONFIRM: Show user the counts and ambiguous decisions before calling. auto-classified files will be migrated automatically. CALL vault_init(action="migrate", manual_overrides=[...], keep_original=False). Todo conversion (applied automatically during migration):
|
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 7 tools
Each tool has a clear primary purpose (capture, promote, read, analyze, topic, reflect, init). Minor overlap exists between vault_analyze's orphans and vault_reflect's blindspots, both surfacing isolated or under-connected content, but their intended use cases differ (graph analysis vs. reflective synthesis).
Most tools follow a consistent 'vault_verb' pattern (vault_capture, vault_promote, vault_read, vault_analyze, vault_reflect, vault_init). vault_topic breaks the pattern by using a noun as the tool name, though its actions (prepare, create, update) are verb-based. This is a minor deviation rather than chaotic inconsistency.
Seven tools is well-scoped for a knowledge vault management server. Each tool exposes multiple related actions (e.g., vault_read has search/get/list_captures), covering a broad domain without ballooning the surface. The number feels intentional and justified.
The tool set covers the capture→promote→topic lifecycle well, but there is no direct way to update or delete a promoted note (as opposed to captures and topics). Notes are the core artifact, so the inability to edit or remove them is a notable gap that agents would have to work around.