obsidian-mcp
A Claude Code plugin that saves curated notes from conversations into an Obsidian vault.
MCP Tools
save_note— Save a markdown note with title, content, optional folder and tagslist_folders— List available folders in the vaultread_note— Read a note by relative path
Setup
1. Build the MCP server
cd plugin/server
npm install
npm run build
Or use the build script:
./plugin/scripts/build.sh
2. Configure vault path
Edit plugin/.mcp.json and set OBSIDIAN_VAULT_PATH to your vault's absolute path:
{
"mcpServers": {
"obsidian-vault": {
"type": "stdio",
"command": "node",
"args": ["${CLAUDE_PLUGIN_ROOT}/server/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault"
}
}
}
}
3. Choose your install method
Option A: MCP only (just the tools)
If you only need the MCP tools (save_note, list_folders, read_note), add this to your ~/.claude/settings.json:
{
"mcpServers": {
"obsidian-vault": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/obsidian-mcp/plugin/server/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault"
}
}
}
}
Restart Claude Code to activate.
Option B: Full plugin (tools + skill + slash command)
Installing as a plugin adds:
/save-to-obsidianslash commandobsidian-saveskill for natural language triggers- Auto-loaded vault conventions via CLAUDE.md
Register the repo as a local marketplace and install:
claude plugin marketplace add /path/to/obsidian-mcp
claude plugin install obsidian-mcp
Restart Claude Code to activate.
Usage
Slash command (plugin install only)
/save-to-obsidian Our auth discussion folder=Investigations
Natural language (plugin install only)
> "Save a note about our discussion to Work Notes"
> "Pull my recent discoveries from claude-mem and save to obsidian"
Direct tool use (both options)
The MCP tools are always available once configured. Claude can call save_note, list_folders, and read_note directly.
Note format
Notes follow Obsidian conventions — no YAML frontmatter, inline tags after the title:
# Title
Tags:
#tag1 #tag2 #tag3
Content body...
## Source
From Claude Code conversation on 2026-03-06




