A Model Context Protocol server for searching content in Obsidian vault markdown files using Tantivy full-text search
Two tools with basic schemas and descriptions present, but significant gaps in LLM-optimized documentation, parameter descriptions, and output schema documentation. Tool names follow verb_noun convention (positive). However, descriptions are generic and lack actionable context. Parameters mostly lack descriptions. No output schema documented. Error handling is minimal. reindex_vault has an incomplete implementation (TODO comment). This server would struggle in production agent scenarios due to under-specified interfaces.
Force reindex of the entire Obsidian vault
Search for content in Obsidian vault markdown files
reindex_vault is a non-functional stub (TODO comment in implementation; returns hardcoded response without actually reindexing)
Output schemas are not documented; tools return plain-text responses instead of structured JSON objects
Parameter descriptions are minimal; limit parameter lacks min/max constraints and guidance
Tool descriptions lack actionable context: when to call, what it returns, dependencies
query parameter in search_vault has no validation constraints; LLMs may pass empty strings, special characters, or injection payloads
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 41 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
No error classification or recovery guidance; errors are low-level (format: 'Search failed: %v')
No rate limiting or bounds protection; a runaway agent could hammer the index with repeated searches or trigger expensive reindexing in a loop
search_vault parameter 'limit' defaults to 10 in code, but this default is not documented in the tool schema; LLM cannot predict behavior if limit is omitted
No documentation of vault indexing time, file format support, or index refresh strategy; LLM cannot reason about when index might be stale