Server has 7 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-200 chars, within baseline), and most have input schemas with type definitions. However, parameter descriptions are sparse or missing context. Tool naming follows verb_noun convention (list_, get_, search_, append_, patch_) but lacks clarity on distinctions (e.g., obsidian_simple_search vs obsidian_complex_search, the latter has no visible description or schema). No output schemas documented. Error handling is minimal (RuntimeError for missing args, no recovery guidance). No tool annotations (readOnlyHint, destructiveHint). obsidian_complex_search is inferred but not fully visible in source, capping its score at 50.
Append content to a new or existing file in the vault.
Return the content of a single file in your vault.
Lists all files and directories that exist in a specific Obsidian directory.
Lists all files and directories in the root directory of your Obsidian vault.
Insert content into an existing note relative to a heading, block reference, or frontmatter field.
obsidian_complex_search has no visible description or input schema in source code. Tool is inferred but not fully defined, violating pattern:tool-description and pattern:constrained-input.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., file paths for chaining). Violates pattern:tool and mxe:include-chaining-ids.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe read-only tools from destructive writes without explicit hints. obsidian_append_content and obsidian_patch_content should be marked destructiveHint=true.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Simple search for documents matching a specified text query across all files in the vault. Use this tool when you want to do a simple text search
Error handling is minimal. RuntimeError for missing args provides no recovery guidance. Violates pattern:recovery-guide. Should return structured errors with actionable next steps (e.g., 'filepath required. Use obsidian_list_files_in_vault to discover available files.').
Parameter descriptions lack context on constraints and formats. E.g., 'dirpath' and 'filepath' lack guidance on path format (relative vs absolute, separator style). 'operation' enum is clear, but 'target' and 'target_type' relationship is underdocumented. Violates pattern:tool-description.