MCP server wrapping the Obsidian CLI for vault management
obsidian-local-mcp
A local MCP server that wraps the Obsidian CLI, giving AI assistants like Claude direct access to your Obsidian vault. Allows editing in the middle of docs.
Requirements
- Obsidian desktop app installed (v1.8+ with CLI support)
- Node.js 18+
- macOS, Windows, or Linux
Setup
git clone https://github.com/MatthewSuazo/obsidian-local-mcp.git
cd obsidian-local-mcp
npm install
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"obsidian-cli": {
"command": "node",
"args": ["/path/to/obsidian-local-mcp/server.js"],
"env": {
"OBSIDIAN_VAULT": "Your Vault Name"
}
}
}
}
Set OBSIDIAN_VAULT to the name of the vault you want to target. Set OBSIDIAN_CLI_PATH to override the Obsidian binary location if it's not in the default path for your OS.
Tools
| Tool | Description |
|------|-------------|
| read | Read note contents by name or path |
| append | Append content to a note |
| prepend | Prepend content to a note |
| create | Create a new note (with optional template) |
| move | Move or rename a file |
| delete | Delete a file (trash or permanent) |
| search | Search vault text with line context |
| property_set | Set a frontmatter property |
| property_read | Read a frontmatter property |
| daily_read | Read today's daily note |
| daily_append | Append to today's daily note |
| replace | Find and replace text in a note (exact, regex, replace-all) |
| search_context | Context-aware search returning surrounding content |
| files | List files in the vault or a specific folder |
| folders | List folders in the vault |
| open | Open a file in the Obsidian UI |
| eval | Execute JavaScript inside the Obsidian runtime |
| command | Execute any registered Obsidian command by ID |
| insert_after | Insert content after a matched string in a note |
License
MIT