The patch tools are what separate this from a file-writing server: content goes in relative to a heading, block or frontmatter target, so appending to today's note does not mean reading it, rebuilding it and putting it back. Everything routes through the running app, which is also the constraint — the vault has to be open, and the active-file tools follow whichever tab was last touched rather than a path you chose.
A server over a running Obsidian vault with 24 tools, addressing three targets — the active file, a periodic note by period, or any vault file by name.
- The same four writes on each target: append, replace the whole content, patch relative to a heading, block or frontmatter target, and delete
- Periodic notes addressed by period rather than by filename, so today's daily note is written without resolving its path first
- Vault listing at the root or inside a directory, file read by name, and create-or-replace through obsidian_put_file
- Three searches with different reach: plain text with a contextLength, a Dataview query, and a JsonLogic query
- Obsidian's own command palette, with obsidian_get_commands listing the command IDs and obsidian_execute_command running one — which covers what the other tools do not
- obsidian_open_file to bring a note up in the app, optionally in a new leaf
Obsidian running with the vault open — every tool acts on that vault, on its currently-active file, or on its command list. MIT licensed.
One command plus a key — bunx @fazer-ai/mcp-obsidian@latest, then supply credentials
