From Obsidian Vault
Controls the Obsidian desktop app via its CLI: open notes, query backlinks, read/set properties, run Base queries, list tasks, take screenshots, reload plugins, and move/rename files with live wikilink updates.
How this skill is triggered — by the user, by Claude, or both
Slash command
/obsidian-vault:obsidian-cliThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The `obsidian` CLI is available when Obsidian 1.12.7+ is running and the CLI is on PATH. Check availability with `Bash` → `obsidian --version`.
The obsidian CLI is available when Obsidian 1.12.7+ is running and the CLI is on PATH. Check availability with Bash → obsidian --version.
All commands use the pattern: obsidian <command> [params] [flags]
Read note content:
obsidian read --path "folder/note.md"
Open a note in Obsidian:
obsidian open --path "folder/note.md"
Get backlinks (JSON):
obsidian backlinks --path "folder/note.md" --format json [--counts]
Get note properties (YAML frontmatter, JSON output):
obsidian properties --path "folder/note.md" --format json [--counts]
Read a single property:
obsidian property:read --name "status" --path "folder/note.md"
Set a property:
obsidian property:set --name "status" --value "done" --type "text" --path "folder/note.md"
Remove a property:
obsidian property:remove --name "status" --path "folder/note.md"
Query a Base file:
obsidian base:query --path "bases/literature.base" --view "Main" --format json
List tasks in a note:
obsidian tasks --path "folder/note.md" --format json [--todo] [--done]
Take a screenshot:
obsidian screenshot --output "shot.png"
Reload a plugin:
obsidian plugin:reload --id "obsidian-git"
Move a note:
obsidian move --path "old/note.md" --to "new/note.md"
Rename a note:
obsidian rename --path "folder/note.md" --name "new-name.md"
Use these instead of filesystem mv/rename when Obsidian is running — they update all internal wikilinks automatically.
All --format json commands return a JSON array of objects. Parse with Python:
import json, subprocess
result = subprocess.run(["obsidian", "backlinks", "--path", "note.md", "--format", "json"], capture_output=True, text=True)
data = json.loads(result.stdout)
If stdout contains "Vault not found." or similar error text, treat as failure even if exit code is 0. Check returnCode != 0 and scan stdout for known error patterns.
Do not use shell=True on Windows — pass the executable path directly.
obsidian open --path .... Must not modify files.obsidian rename or obsidian move, then verify the command output. Must not use raw filesystem rename while Obsidian is running.obsidian tasks --format json --todo and parse JSON. Must treat error text in stdout as failure even if exit code is zero.当 Obsidian 桌面运行时,所有文件移动、重命名、属性读写、任务查询等操作优先通过 obsidian CLI 完成,以确保内部双链自动更新。使用 Bash 工具执行上述命令,解析 --format json 输出。
npx claudepluginhub luffysolution-svg/obsidian-vault-mcpInteract with an Obsidian vault via its CLI — read, create, search notes, manage tasks and properties. Also supports plugin/theme development with reload, error capture, screenshots, and DOM inspection commands.
Interact with Obsidian vaults to read, create, search, and manage notes, tasks, and properties. Also supports plugin/theme development with reload, error capture, screenshots, and DOM inspection.
Runs Obsidian CLI commands for vault ops: search, backlinks, tags, tasks, properties, daily notes, file read/write/create/move. Use for indexed features; fallback to file tools otherwise.