Gives Claude full access to your Obsidian vault via the CLI. Manages notes, searches, tasks, and daily reflections.
This server has fundamental definition quality gaps that prevent production recommendation. Most tools (6/8) lack proper input parameter descriptions despite having schemas. Tool descriptions are present but generic, lacking depth about when to call each tool and what to expect. No output schemas are documented anywhere. Error handling is minimal, the async fallbacks (fs_search, fs_tasks) silently fail to the filesystem with no guidance to the LLM about recovery paths. The schema quality is uneven: some tools have enum constraints (implicitly through descriptions), but parameters lack the detailed format/range guidance needed for LLM-safe invocation. Schema inspection reveals that create_note has an 'overwrite' parameter but does not document the consequences of setting it true, a critical omission for a destructive operation. No tool includes actionable error messages or recovery hints. The overall pattern adoption is weak, only naming and basic schema structure are present; parameter validation, confirmation patterns, and result shaping are absent.
Append content to an existing note.
Create a new note in the vault.
Get all notes that link to a given note. Useful for seeing how ideas connect.
Get the current date, time, day of week, and hours remaining in the day. Always call this first when generating a daily note or doing any time-aware planning.
Get all notes that a given note links to.
List all notes that have no incoming or outgoing links.
Read the full contents of a note by name or path.
Output schemas are not documented anywhere. The MCP tool definitions include inputSchema but never declare what each tool returns. LLMs cannot infer response structure and cannot chain downstream calls without seeing return types.
Parameter 'file' in read_note, get_backlinks, get_outgoing_links accepts either name or path but the description does not clarify format constraints (e.g. 'Lecture 3' vs '2026/Math/Lecture3.md'). This ambiguity forces LLMs to guess at naming conventions and risks failed lookups.
create_note has an 'overwrite' boolean parameter (default false) but the description does not explain what happens when true, does it truncate, merge, error? For a write operation, this is a critical omission that could lead to unintended data loss.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 17 | - | v1 |
Search the entire Obsidian vault for any text query. Uses Obsidian's live search index.
vault_search returns results but no documented limit behavior. The 'limit' parameter defaults to 20, but the output schema is missing, LLMs don't know if they're getting truncated results or the full set, and cannot plan pagination.
Error handling is minimal. The async fallback functions (fs_search, fs_tasks, fs_daily_read, fs_daily_append) silently degrade to filesystem operations when the Obsidian CLI hangs or fails. No error guidance is returned to the LLM about why the fallback occurred or how to recover. Agents cannot distinguish between a real failure and a timeout-induced fallback.
No confirmation or dry-run pattern for destructive operations. create_note (with overwrite=true) and append_to_note directly modify the vault. Agents are given no way to preview changes or request confirmation before executing, risking unintended overwrites or appends.
Descriptions are generic and lack When-to-use guidance. E.g. 'Append content to an existing note' does not say whether this is for journaling, task tracking, or general note updates. LLMs benefit from explicit guidance on when to prefer append_to_note over create_note, or when to call vault_search first to validate the note exists.
The 'path' parameter in create_note is optional but 'name' is required. If path is not provided, unclear where the note lands. No default folder is documented, and no guidance on how 'name' and 'path' interact if both are provided.