MCP server for Obsidian notes - search and read your Obsidian vault
This server defines 10 tools with basic descriptions and schemas. However, significant gaps prevent a higher score: (1) Most parameter descriptions are minimal (10-30 chars) and lack guidance on constraints, formats, or expected values. (2) No output schemas are documented, tools return strings or objects but LLMs cannot see the expected structure. (3) Error handling is present in implementation (throws Error) but descriptions do not guide recovery ('See: search_notes first'). (4) Tool naming is adequate (verb_noun) but some descriptions are too brief to disambiguate intent. (5) The server handles core Obsidian operations but lacks production-grade polish. Naming is generally good (search_notes, read_note, create_note, delete_note follow conventions), but parameter descriptions are under-specified, e.g., 'Path to the note file relative to vault root' lacks validation rules or format guidance. No return schemas documented anywhere. Error messages in code ('笔记不存在: {notePath}') are in Chinese and not optimized for LLM parsing.
Create a new folder in the vault
Create a new note in the vault
Delete a note from the vault
Search for a keyword in all notes in the vault
Get the Obsidian vault organization prompt guide
Get the complete structure of the Obsidian vault
List folders and notes in a specific folder
No output schemas documented. Tools return unstructured strings or objects with no declared field names, types, or structure. LLMs cannot plan downstream tool calls or extract the data they need.
Parameter descriptions are too brief (10-30 chars) and lack validation guidance. E.g., 'Path to the note file relative to vault root' does not specify required format, whether .md extension is needed, or what characters are forbidden. Missing constraint details like 'must not contain: / . \ or start with .'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Read the full content of a specific note
Search notes by query, optionally filter by tag or category
Update the content of an existing note
Error messages in source code are in Chinese and not optimized for LLM recovery. Descriptions do not include recovery hints like 'If note not found, try search_notes first.' Error classification (retryable vs fatal) is missing from tool descriptions.
Destructive tool (delete_note) has no dry-run or confirmation mechanism. Tool description does not warn that deletion is irreversible or suggest a backup strategy.
Tool descriptions do not disambiguate overlapping functionality. search_notes filters by query/tag/category, while full_text_search searches keywords. The descriptions do not explain when to use each, LLMs may select the wrong tool.
get_prompt_guide returns a hardcoded long-form guide in Chinese, mixing tool functionality with documentation. This is not a proper API response, it should return structured metadata about the vault (or be removed).
list_folder and get_vault_structure both return folder/note structures. Descriptions do not clarify the difference (one is recursive, one is shallow) or when to use each.