MCP server exposing obsidiantools functionality for Obsidian vault analysis
Critical gaps across all dimensions. Tool definitions exist only in package.json with minimal metadata; actual implementation in mcp_server.py is truncated and unverifiable. No input schemas visible for any tool, only 6 of 19 tools show parameter descriptions in package.json. Descriptions are generic (10-50 chars), lack WHEN/WHY context, and do not guide LLM selection. No output schemas documented. Error handling code not visible. Tools lack verb-noun clarity (e.g., 'connect_vault', 'gather_vault' are vague). No evidence of parameter validation, type constraints, or recovery guidance.
Get comprehensive vault analysis
Connect notes and build graph structure
Export vault graph in various formats
Find notes containing specific tags
Gather plaintext content from notes
Get all links in vault
Get all tags used in vault
13 of 19 tools have NO visible input schema. Only 6 tools in package.json show parameter descriptions; 13 tools in mcp_server.py have no schema visible in provided code.
Descriptions are generic and under 50 characters for 15+ tools (e.g., 'Get vault graph statistics', 'Get metadata for media files'). No WHEN/WHY context, no recovery guidance, no dependency hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | <=2025-11-25 | v2 |
Get content of a specific canvas file
Get metadata for canvas files in vault
Get file indices for vault
Get vault graph statistics
Get list of isolated files with no connections
Get metadata for media files in vault
Get list of nonexistent files referenced in vault
Get plaintext content of a specific note
Get links for a specific note
Get metadata for all notes
Initialize an Obsidian vault for analysis
Search notes by content
Tool names lack clarity. 'connect_vault' and 'gather_vault' are vague, do they modify state? Return data? Require prior initialization? Names should be verb_noun (e.g., 'list_vault_links', 'fetch_vault_content').
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. Tools return unstructured data with no field documentation.
Implementation code truncated at line ~80 of mcp_server.py. Cannot verify error handling, parameter validation, pagination, or actual tool behavior. Tool definitions inferred from package.json only.