Obsidian × MCPVault: The Book Notes System
Dump your highlights and have Claude file the book into your second brain with connections and project-tied takeaways.
Run this workflow
CI-verified, 3/3 fixtures passing.
Build this with your agent
One copy-paste hands Claude Code, Codex, or Cursor the full recipe, steps included, nothing to fetch.
Intended Use
Readers who dump highlights into a note and want Claude to create a synthesis with key ideas, two-way links to connected notes, and takeaways tied to active projects, via read_note + search_notes + write_note.
Not for
- People who won't install Claude Desktop
- Vaults you haven't backed up
The Stack
Tested Against
mcpvault@latestclaude-desktopnode@20.xobsidian@1.7.xSide effects & data flow
- Network
- Anthropic API, only in the non-CI Claude step
- Writes
- ./vault/Books/, claude_desktop_config.json
- Credentials
- Claude Desktop login, for the synthesis step only
Data privacy
- Anthropic (Claude), only in the non-CI agent step ← your book highlights and matched notes (retention: per Anthropic's API/data policy)
Prerequisites
- Claude Desktop, https://claude.ai/download
- Node 20+ (MCPVault runs via npx)
- Your highlights pasted into a Books/ note
Steps
- 1
Validate config and scaffold a Books/ highlights note
CI validates the MCPVault config and drops a sample highlights note in Books/ for the synthesis step to read.
cat > claude_desktop_config.json <<'EOF' { "mcpServers": { "obsidian": { "command": "npx", "args": ["@bitbonsai/mcpvault@latest", "/Users/you/Documents/MyVault"] } } } EOF node -e 'const c=JSON.parse(require("fs").readFileSync("claude_desktop_config.json","utf8"));const o=c.mcpServers.obsidian;if(o.command==="npx"&&o.args.some(a=>a.indexOf("@bitbonsai/mcpvault")===0)){console.log("config OK: npx -> @bitbonsai/mcpvault")}else{console.log("BAD");process.exit(1)}' mkdir -p vault/Books printf '%s\n' '# Atomic Habits, highlights' 'Small habits compound over time.' > vault/Books/atomic-habits.md test -s vault/Books/atomic-habits.md && echo "books ready: vault/Books/atomic-habits.md" - 2
File the book (the Claude step, not checked by CI)
Tell Claude to read Books/atomic-habits.md, search the vault for connected notes, and write Books/atomic-habits-synthesis.md with key ideas, links, project-tied takeaways, and next reads. Uses read_note + search_notes + write_note; runs a model, so CI doesn't run it.
Eval, 3 fixtures
Last passed: verified todayconfig-validcontainstimeout 30s · max $0Expected:
config OK: npx -> @bitbonsai/mcpvaultbooks-readycontainstimeout 30s · max $0Expected:
books ready: vault/Books/atomic-habits.mdclean-exitexit_codetimeout 30s · max $0Expected:
0
Results
The heavy-reader pick from the WebAfterAI Part 2 guide.
Did this work for you?
Our CI checks the setup runs. You tell us if the whole thing worked. Tell us straight.
Related workflows
- One shared memory for every coding agent: prove the configs actually point at the same server
- zvec: run vector search inside your app, no server, offline
- LlamaIndex: index your documents and query them at runtime
- Crawl4AI: a page to clean, LLM-ready markdown (no API key)
- Khoj + Fable 5: A Second Brain That Knows Your Notes
- Cognee: Knowledge-Graph Memory Over Your Documents
Liked this workflow?
Get new verified workflows in WebAfterAI, three issues a week (Tue, Thu, Sat).