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 |
Capabilities
Features and capabilities supported by this server
| 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 | |
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/oliverxuzy-ai/knowledge-in-a-vat'
If you have feedback or need assistance with the MCP directory API, please join our Discord server