Skip to main content
Glama
russellsch

some-vault-some-mcp

by russellsch

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoSSE bind address0.0.0.0
MCP_PORTNoSSE port3789
OLLAMA_URLNoOllama API endpoint (requires --extra ollama)http://localhost:11434
VAULT_PATHYesAbsolute path to Obsidian vault (required)
LANCE_DB_PATHNoWhere the vector index lives./data/vault.lance
MCP_TRANSPORTNosse or stdiosse
VAULT_API_KEYNoEnables Bearer token auth on SSE transport
OPENAI_API_KEYNoRequired if provider is openai (requires --extra openai)
FASTEMBED_MODELNoAny fastembed-supported model. On Apple Silicon, auto-detects and uses the non-quantized variantnomic-ai/nomic-embed-text-v1.5-Q
EMBEDDING_PROVIDERNofastembed, ollama, openai, or mockfastembed
FASTEMBED_DIMENSIONSNoOverride dimension auto-detection
some_vault_some_mcp_OVERRIDESNoPath to YAML override file
VAULT_SOFT_DELETE_IS_PERMANENTNotrue makes delete_note do hard deletesfalse

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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
searchB

Find notes by text, meaning, or exact string.

get_noteA

Read a single note with parsed frontmatter and tags. Path extension is optional.

list_notesB

List and filter vault notes by folder, tags, projects, status, area, or frontmatter.

create_noteA

Create a new note. Fails if it already exists. The .md extension is added automatically — do not add .md or other extensions to the path. Never create redirect stubs, backups, or temporary files.

append_to_noteA

Append text to the end of an existing note. The .md extension is added automatically.

prepend_to_noteA

Insert text after frontmatter, before the note body. The .md extension is added automatically.

update_frontmatterA

Merge key-value pairs into YAML frontmatter. Unlisted keys preserved. The .md extension is added automatically.

move_noteA

Move or rename a note. ALL wikilinks across the vault are updated automatically — do not create redirect stubs at the old path. The .md extension is added automatically. Do not use this to create backups; use delete_note instead (it moves to .trash).

delete_noteA

Delete a note. Moves to .trash by default (restore or empty trashed notes from within Obsidian or the filesystem — no tool lists/restores .trash); set permanent=true for an irreversible hard delete.

get_daily_noteA

Read today's or a specific date's daily note.

create_daily_noteA

Create a daily note for today or a given date. Fails if one exists.

get_tagsA

List all unique tags in the vault with usage counts.

get_backlinksA

Find notes that link to a given note.

get_outlinksA

List all outgoing wikilinks from a note. Shows valid and broken links.

find_orphansA

Find disconnected notes — no inbound links, no outbound links, or both.

find_broken_linksA

Find wikilinks pointing at notes that don't exist.

get_graph_neighborsA

Walk the link graph outward from a note. Depth 1-5, default 1.

vault_index_statusA

Check search index health and statistics.

vault_reindexA

Trigger incremental reindex for one note or the entire vault.

list_canvasesC

List all .canvas files in the vault.

read_canvasA

Read canvas structure (nodes + edges).

create_canvasB

Create a new .canvas file with optional initial nodes/edges.

add_canvas_nodeA

Add a node (text/file/link/group) to a canvas. Auto-layout when position omitted.

update_canvas_nodeC

Update any property of an existing canvas node by ID.

remove_canvas_nodesA

Remove nodes by ID. Auto-removes dangling edges.

add_canvas_edgeC

Add an edge between two canvas nodes with full property support.

update_canvas_edgeC

Update properties of an existing canvas edge by ID.

remove_canvas_edgesC

Remove edges from a canvas by ID.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
resource_tagsTag index with usage counts as JSON.
resource_dailyToday's daily note content.

TDQS

B3.3/5.0

Scored across 28 tools

Disambiguation4/5

Most tools target a distinct resource and action, but a few could be confused: search overlaps with list_notes for finding content, and get_graph_neighbors could be mistaken for a combined version of get_backlinks/get_outlinks. Overall, the descriptions are clear enough to separate the graph, note, and canvas operations.

Naming Consistency4/5

The dominant verb_noun pattern is consistent (create_note, move_note, delete_note, add_canvas_node, etc.), with minor deviations like bare 'search', 'vault_index_status' (noun_status), and singular/plural mismatches in canvas operations (update_canvas_node vs remove_canvas_nodes). These are readable and predictable.

Tool Count3/5

28 tools is on the heavy side for an MCP server, though the breadth is justified by covering notes, daily notes, link analysis, indexing, and canvases. It exceeds the typical well-scoped range and feels dense, but not bloated with near-duplicate functionality.

Completeness4/5

The note lifecycle is well-covered (create, read, update via append/prepend/frontmatter, move, delete), and link analysis plus canvas CRUD are thorough. Minor gaps exist: there is no in-place body editing or trash restore tool, and daily notes can only be created/read, not modified directly.

Maintenance

ActivityMaintained
ResponsivenessNo issues