Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VAULT_LOCAL_PATHYesAbsolute path to your local vault directory

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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:

  1. REFINE: Distill the user's thought into a core insight (1–3 plain-text sentences). Generate a clean, descriptive plain-text title (≤50 chars).

  2. CONFIRM: Present the refinement to the user and wait for approval. Refinement is lossy — only the user knows which version captures what they truly want to remember. Do NOT call this tool until the user explicitly confirms.

  3. STORE: Call this tool with action="save" and the confirmed title, insight, and metadata.

For delete:

  1. IDENTIFY: User specifies which capture to delete.

  2. CONFIRM: Show the capture's title, preview, and path to the user. Deletion is PERMANENT — ask "确认删除?" and wait for explicit approval. Do NOT call this tool until the user confirms.

  3. DELETE: Call this tool with action="delete" and path.

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:

  1. LIST: Call vault_read(action="list_captures", include_content=True) to get all unpromoted captures with full content in a single call.

  2. SELECT & SYNTHESIZE: Choose related captures to promote together. Generate title, summary, domain, content, confidence, tags.

  3. CONFIRM: Present the full synthesis to the user and wait for approval. Promotion is semi-destructive — source captures are marked as promoted and cannot be re-promoted.

  4. PROMOTE: Call this tool with action="promote" and the confirmed output.

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:

  1. PREPARE: Call with action="prepare" to get summaries + graph metrics.

  2. DEEP READ (optional): Use vault_read(action="get") for important notes.

  3. SYNTHESIZE: Write topic body (synthesis, not concatenation).

  4. CONFIRM: Present to user. Wait for approval.

  5. WRITE: Call with action="create" or action="update".

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):

  • pending task → - pending task (plain bullet)

  • done task → - done task (strikethrough, history preserved)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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