Skip to main content
Glama
everton-dgn

vault-search-mcp

by everton-dgn

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VAULT_SEARCH_CONFIGNoPath to a configuration file. Used when it points to an existing file; otherwise falls back to config.yaml in the working directory, config.yml, etc.
VAULT_SEARCH_VAULT_PATHNoPath to the vault directory. Overrides paths.vault_path in the configuration file.

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
search_vaultB

Search vault notes semantically with cross-encoder reranking.

Flow: query embedding, vector retrieval, then cross-encoder reranking.

search_vault_hybridB

Combine semantic and keyword search.

This can recover exact technical terms, names, and acronyms alongside semantically related content.

search_by_folderA

Search semantically within one vault folder.

Descendant folders are included by the search backend.

vault_statsA

Return search-index statistics.

Returns: Totals for chunks and notes, plus the last modification time.

reindex_vaultA

Rebuild the complete vault index.

Use this after broad reorganizations or when the rebuildable index must be recreated.

reindex_noteA

Reindex one note incrementally.

system_statsA

Return measured operation and subsystem statistics.

Includes observed p50/p95 latency, cache counters, catalog totals, and vector-index statistics.

sync_vaultA

Synchronize vault files with the index.

Detects new, modified, and deleted files.

Use this after files changed while the server was stopped.

compact_indexA

Compact the LanceDB index.

This merges small fragments and removes obsolete versions after incremental mutations.

Returns: Compaction statistics.

health_checkA

Return a health snapshot for monitoring.

Checks the index, catalog, model state, and measured latency alerts.

Returns: Overall status and component details.

find_similar_notesA

Find notes similar to one specific note.

Averages the note's chunk embeddings and searches for semantically similar content.

search_duplicatesC

Find groups of duplicate or highly similar notes.

Compares note embeddings and groups notes above the similarity threshold.

search_advancedB

Run semantic search with structured filters.

Every optional filter is combined with AND.

benchmark_searchA

Measure local search latency.

Results describe only this process, data set, configuration, and runtime.

vector_index_statusA

Return ANN vector-index status.

The index is created when the configured chunk threshold is reached.

Returns: Current existence, threshold, chunk count, eligibility, and auto-creation setting.

get_backlinksB

Find notes that link to one target note.

Uses the rebuildable link index instead of rereading vault files.

get_outlinksB

List every indexed link from one note.

Uses the same rebuildable link index as get_backlinks.

find_broken_linksA

Find links that point to missing notes.

Broken links have is_resolved=false in the rebuildable link index.

find_orphan_notesB

Find notes with no backlinks.

These notes are isolated from incoming graph edges.

link_statsB

Return vault link statistics.

Includes totals, most-referenced notes, and notes with most outlinks.

get_recent_notesB

Return recently modified notes.

Results are ordered by modification time, newest first.

tag_statsA

Return vault tag usage statistics.

Each tag is counted once per note.

folder_treeA

Return the vault folder structure as a hierarchy.

Uses the SQLite catalog without scanning the filesystem.

search_by_tagsA

Find notes by exact tags without semantic search.

Use tag_stats to discover available tags before filtering.

random_noteA

Return a random vault note.

Uses SQLite's random ordering over the filtered catalog.

daily_noteB

Return information about the daily note for one date.

Daily notes use the Obsidian YYYY-MM-DD.md convention in the selected folder.

read_noteA

Read a complete Markdown note with parsed frontmatter.

Only .md is supported. Use search_vault for PDF or Canvas content.

get_note_metadataA

Return Markdown note metadata without the body.

Returns parsed frontmatter, extracted tags, and file metadata for .md.

list_notesA

List vault notes with filters and pagination.

Lists .md, .pdf, and .canvas. Only .md can be read with read_note. For PDF and Canvas files, use search_vault.

create_noteA

Create a Markdown note and fail if it already exists.

Only .md is supported.

write_noteA

Overwrite or create a Markdown note from complete content.

Use this when the caller already has the complete .md content.

append_noteA

Append content to an existing Markdown note.

Only .md is supported.

update_frontmatterA

Update YAML frontmatter on an existing Markdown note.

Only .md is supported. Merge is shallow, so arrays and objects are replaced.

delete_noteA

Delete a .md, .pdf, or .canvas note by moving it to vault trash.

Permanent deletion is unsupported. Files remain recoverable in .trash.

move_noteA

Move or rename a note.

Source and destination extensions must match, and ignored folders are blocked.

generate_missing_idsA

Add UUIDv7 ids to Markdown notes that lack a frontmatter id.

UUIDv7 values follow RFC 9562 and are time-ordered.

validate_frontmatterA

Validate note frontmatter or a supplied dictionary against the schema.

Use this before creating or updating notes.

enrich_frontmatterA

Enqueue required-frontmatter enrichment in the background.

Returns a job id immediately. Use enrich_frontmatter_status to inspect it.

enrich_frontmatter_statusB

Return the status of frontmatter enrichment jobs.

graph_dataA

Export link-graph data for visualization.

The node-and-edge format can feed D3.js, Obsidian Graph, or Gephi.

suggest_linksA

Suggest links for a note based on semantic similarity.

Finds similar notes that are not already linked.

find_link_clustersA

Detect clusters of densely connected notes.

Uses connected components to find isolated knowledge groups.

find_bridge_notesB

Find articulation points in the note graph.

Removing an articulation point increases the number of connected components.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
vault_stats_resourceReturn aggregate vault statistics. Includes note count, chunk count, and last modification.
vault_folders_resourceReturn the vault folder tree. The response is a hierarchical directory structure.
vault_notes_list_resourceReturn one bounded page of the note catalog. ``has_more`` reports whether matches remain after the snapshot.
vault_recent_resourceReturn notes modified in the last seven days. This provides a bounded recent-activity snapshot.
vault_tags_resourceReturn all indexed vault tags with counts. Counts each tag once per note.

TDQS

B3.2/5.0

Scored across 43 tools

Disambiguation2/5

Many tools have overlapping purposes, especially the search family: search_vault, search_vault_hybrid, search_advanced, search_by_folder, search_by_tags, and search_duplicates all blur together. Similar overlaps exist among stats/status tools and maintenance operations like sync_vault, reindex_vault, and compact_index, making it difficult to choose the correct tool.

Naming Consistency3/5

Most tools follow a verb_noun snake_case pattern, but the verbs are inconsistent across similar actions (search_ vs. find_ vs. get_ vs. list_ vs. read_). A few names like graph_data and vector_index_status break the pattern, and the proliferation of search_* variants makes naming feel less systematic.

Tool Count2/5

With 43 tools, this server is well beyond the ideal 3-15 range and even past the 25+ threshold. While the domain is broad, many tools are highly specialized or redundant, so the large count feels excessive rather than well-scoped.

Completeness4/5

The tool surface covers CRUD for notes, search, tags, folders, graph export, frontmatter validation/enrichment, and index maintenance. It is quite complete for an Obsidian vault server, though some redundancy suggests the same capabilities could have been consolidated without major gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues