MCP server for vault-tree: markdown vault parsing and analysis with support for vault tree generation, searching, publishing, organization, knowledge lookup, and link management
vault-tree-mcp has 12 tools with moderate structural clarity but significant gaps in descriptions, parameter documentation, and schema completeness. Tool names follow verb_noun conventions reasonably well (vault_tree, vault_search, publish_post, validate_post, organize_triage, organize_ingest, find_duplicates, knowledge_lookup, create_note, suggest_links, apply_links, batch_suggest_links). However, descriptions are brief and lack actionable context for LLM selection. Parameter schemas are present but descriptions are minimal or missing for many parameters. Output schemas are not documented. Error handling guidance is absent. Security concerns around file path parameters are not addressed.
Apply suggested links to a note
Suggest links for multiple notes in batch
Create a new note from knowledge entry
Find duplicate notes in the vault
Look up information from external knowledge sources
Ingest and organize notes
Triage inbox notes for organization
Publish a post to droo.foo
Suggest links for a note based on content
Parameter descriptions are minimal or missing. Most parameters have only one-line descriptions with no format constraints, ranges, or usage guidance. Example: 'depth' on vault_tree has description 'Maximum depth to traverse in the vault tree' but no mention of min/max bounds, default, or what happens at max depth.
No output schemas documented. LLMs cannot know what fields to expect from tool responses or plan downstream calls. Example: vault_search returns matches but structure is not specified, does it return file paths, line numbers, context snippets, or all three?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Validate a post before publishing
Search the vault for content matching a pattern
Generate a tree structure of the vault with file and directory information
File path parameters (file_path, inbox_folder, source_folder, target_folder) lack path traversal protections or validation guidance. No mention of allowed directories, whether absolute/relative paths are accepted, or what happens with malicious paths like '../../../etc/passwd'.
No error handling or recovery guidance. Tools return success or failure with no hint about what the LLM should do next. Example: if vault_search finds no matches, should the LLM try a different pattern or accept the empty result?
Destructive/write operations (publish_post, organize_ingest, create_note, apply_links) lack confirmation or dry-run support. No indication that these are irreversible or require user approval before execution.
Tool descriptions are too brief (under 50 chars on average) and lack context about when to use each tool. Example: 'Organize inbox notes for organization' is vague, does it deduplicate, tag, move files, or something else? What distinguishes organize_triage from organize_ingest?
Ambiguous parameter types. Example: 'entry' on create_note is described as 'Knowledge entry to create note from' but marked as type 'object' with no schema detail. LLMs cannot infer required fields or structure.
Array parameters lack item constraints. Example: 'providers' on knowledge_lookup is an array of strings with no enum values or validation. What are the valid provider names?
No tool composition or chaining guidance. Example: suggest_links produces suggestions, but there's no hint about whether the LLM should automatically call apply_links next or ask the user first.
find_duplicates has no input parameters, making it inflexible. LLMs cannot specify which folders to search or what constitutes a 'duplicate' (same content, same name, same hash?).