Skip to main content
Node.js

obsidian-cli

v0.1.5
180

@ovaculos/obsidian-cli

MCP server for Obsidian — read, write, search, and manage notes via the Obsidian CLI

nodeMIT

README

mcp-obsidian-cli

mpak NimbleBrain

MCP server wrapping the Obsidian CLI. Gives Claude Code (and any MCP client) full read/write access to your Obsidian vaults via 22 tools covering file CRUD, full-text search, frontmatter properties, link graph traversal, and vault info.

Tools

CategoryTools
Filesread_note, create_note, append_note, prepend_note, delete_note, move_note, list_notes
Searchsearch_vault, search_context
Propertieslist_properties, get_property, set_property, remove_property
Structureget_outline, list_tags, get_backlinks, get_links, list_unresolved, list_orphans, list_deadends
Vaultvault_info, list_folders

Requirements

  • Node.js 24+
  • Obsidian installed (binary at /Applications/Obsidian.app/Contents/MacOS/obsidian on macOS, or set OBSIDIAN_BIN)
  • mpak (to run the bundle)

Configuration

Env varDefaultDescription
OBSIDIAN_BIN/Applications/Obsidian.app/Contents/MacOS/obsidian (macOS)Path to the Obsidian binary
OBSIDIAN_VAULTDefault vault name; tools accept vault= per-call to override

Install via mpak

mpak install @ovaculos/obsidian-cli

Local dev

npm install
make check    # format + typecheck + tests
make run      # build and run stdio server
make bundle   # build .mcpb bundle

Inspect locally:

make bundle
npx @modelcontextprotocol/inspector mpak run --local ./*.mcpb

Version management

manifest.json is the single source of truth.

make bump VERSION=0.2.0   # update manifest + sync package.json, server.json, src/constants.ts
make sync                  # re-sync without bumping