metamind-vault-rag
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@metamind-vault-ragsearch my vault for notes about neural networks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
metamind-vault-rag
A retrieval engine for a directory of markdown. It watches files, indexes them incrementally, and answers hybrid search queries over them.
Vectors live in sqlite-vec, keywords in SQLite FTS5, and the two are fused with reciprocal rank fusion. Embeddings run in-process through fastembed's ONNX models, so there is no server to stand up and no API key to hold. An optional cross-encoder rescore tier is available through the rerank extra.
Install
uv tool install metamind-vault-ragRelated MCP server: mnemonic
Entry points
Command | Purpose |
| Watch a directory and index changes |
| One-shot full reindex |
| Loopback HTTP search API |
| stdio MCP server |
| Environment and index diagnostics |
Configuration
Variable | Meaning |
| Directory to index |
| Collection name, which scopes the index files |
| Port for the loopback search API |
| Where indexes, caches and logs are written. Defaults to |
Indexes are written to the state directory, named after the collection, and are never placed inside the corpus. Two clients pointed at different collections, or different state directories, coexist on one machine without either knowing about the other.
Consumers
Installed by any client that wants retrieval without running a service. The engine holds no opinion about who is asking: it names no client in its output, its environment variables are all VAULT_-prefixed, and it writes nothing outside the state directory.
Development
uv run --extra dev pytestA client can be pointed at a working copy instead of a release with uv tool install --from /path/to/this/repo metamind-vault-rag.
Licence
MIT
Available Tools
3 toolsexpand_searchD
search_vault + wikilinks discovered in source files.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals no behavioral aspects such as side effects, permissions, or whether the operation is read-only. Since no annotations are provided, the description carries full responsibility for transparency and fails to offer any.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief, which is concise but it sacrifices clarity. The phrasing is cryptic and lacks structure, making it difficult to parse the intended meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete given the ambiguity. It fails to provide a clear overview of the tool's capabilities, parameters, or relationship to sibling tools, leaving significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema parameters 'query' and 'k' are not explained in the description. There is no indication of what each parameter does, how they influence the search, or their expected formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'search_vault + wikilinks discovered in source files' is vague and does not clearly state the tool's primary function. It hints at combining search with wikilinks but lacks a specific verb like 'searches' or 'expands'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the sibling tools 'search_vault' or 'related_notes'. The description gives no context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vaultC
Semantic search over the Obsidian Knowledge vault.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description should fully disclose behavioral aspects. It merely states 'semantic search' – which implies a read operation but does not explicitly state side effects, resource constraints, or result handling. No details on output stability, rate limits, or side effects are given. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise. However, it is under-specified: it lacks necessary detail for an agent to use the tool effectively. The brevity is not a virtue because it omits critical information, making it more of an under-specification than a well-structured concise entry.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two parameters and an output schema, but the description gives no information about return format, pagination, or semantics. Since annotations are missing, the description must bear the burden of explaining expected behavior. It fails to provide enough context to use the tool safely, especially for a semantic search that could have variable behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only source of parameter meaning. The description does not mention 'query' or 'k' at all. The schema lists 'k' with a default but no description, and 'query' without context. This is a complete failure to provide any parameter semantics in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it performs 'semantic search' over the vault, which clearly identifies the action and resource. However, it does not differentiate from sibling tools like 'related_notes' or 'expand_search' – the term 'semantic' hints at a method but not why this one is distinct. Purpose is clear but not enriched with scope or contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the siblings. The description only states what it does, not when it is the right choice. There is no mention of use cases, exclusions, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.10.1- First observed
expand_search - First observed
related_notes - First observed
search_vault
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: semantic search, finding related notes, and expanding search via wikilinks. There is no overlap or ambiguity.
All tools use snake_case and follow a verb-like pattern, but 'related_notes' uses an adjective rather than a verb, creating minor inconsistency with the verb_noun style of the other two.
With only 3 tools, the set is minimal but well-scoped for the server's focus on vault search and navigation. It avoids superfluous tools while covering essential actions.
The server covers the core needs of a RAG vault assistant: searching semantically, exploring relationships, and expanding through linked notes. This is a complete set for its intended purpose.
Maintenance
Related MCP Connectors
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Related MCP Servers
- AlicenseAqualityAmaintenanceA generic Markdown vault MCP server with FTS5 full-text search, semantic vector search, frontmatter-aware indexing, incremental reindexing, and non-markdown attachment support that exposes search, read, write, and edit tools.3832MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for on-device hybrid search over markdown knowledge bases, combining BM25, vector embeddings, and LLM reranking with link graph and time decay.8MIT
- AlicenseAqualityCmaintenanceMCP server for local knowledge management with Markdown and PDF indexing using SQLite FTS5.5122MIT
- AlicenseNot gradedqualityCmaintenanceA local, private hybrid-search MCP server for searching markdown notes using BM25 + vector fusion with local embeddings via Ollama.MIT