obsidian-brain
A standalone Node MCP server that gives Claude (and any other MCP client) over an Obsidian vault. Runs as one local stdio process — no plugin, no HTTP bridge, no API key, nothing hosted. Your vault content never leaves your machine.
Power your agent
คำสั่งของผู้เผยแพร่เอง ไม่ใช่เอนด์พอยต์ของ PlugMCP
Host a copy with our keys and logs.
npx -y [email protected]Claude Code ไม่มีลิงก์ติดตั้งสำหรับคำสั่งแบบโลคัล ให้คัดลอกคำสั่งด้านล่างแล้วรันในเทอร์มินัล
VAULT_PATH=<value> DATA_DIR=<value> EMBEDDING_PRESET=<value> EMBEDDING_MODEL=<value> EMBEDDING_PROVIDER=<value> OLLAMA_BASE_URL=<value> OLLAMA_EMBEDDING_DIM=<value> OLLAMA_NUM_CTX=<value> OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL=<value> OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL=<value> OBSIDIAN_BRAIN_NO_WATCH=<value> OBSIDIAN_BRAIN_NO_CATCHUP=<value> OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS=<value> OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS=<value> OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS=<value> OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS=<value> OBSIDIAN_BRAIN_CONFIG_DIR=<value> OBSIDIAN_BRAIN_DEBUG=<value> OBSIDIAN_BRAIN_LOG_FORMAT=<value> claude mcp add io.github.sweir1-obsidian-brain -- npx -y obsidian-brain@1.7.24รันในเทอร์มินัล
{ "mcpServers": { "io.github.sweir1-obsidian-brain": { "command": "npx", "args": [ "-y", "[email protected]" ], "env": { "VAULT_PATH": "<value>", "DATA_DIR": "<value>", "EMBEDDING_PRESET": "<value>", "EMBEDDING_MODEL": "<value>", "EMBEDDING_PROVIDER": "<value>", "OLLAMA_BASE_URL": "<value>", "OLLAMA_EMBEDDING_DIM": "<value>", "OLLAMA_NUM_CTX": "<value>", "OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL": "<value>", "OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL": "<value>", "OBSIDIAN_BRAIN_NO_WATCH": "<value>", "OBSIDIAN_BRAIN_NO_CATCHUP": "<value>", "OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS": "<value>", "OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS": "<value>", "OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS": "<value>", "OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS": "<value>", "OBSIDIAN_BRAIN_CONFIG_DIR": "<value>", "OBSIDIAN_BRAIN_DEBUG": "<value>", "OBSIDIAN_BRAIN_LOG_FORMAT": "<value>" } } }}claude_desktop_config.json
URL แบบรีโมตหรือคำสั่งบนเครื่องของคุณ? การติดตั้งสองแบบต่างกันอย่างไร
จากผู้เผยแพร่
A standalone Node MCP server that gives Claude (and any other MCP client) over an Obsidian vault. Runs as one local stdio process — no plugin, no HTTP bridge, no API key, nothing hosted. Your vault content never leaves your machine.
Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required.
รันบน PlugMCP
A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.
เปิด📖 Full docs → sweir1.github.io/obsidian-brain Companion plugin →
sweir1/obsidian-brain-plugin(optional — unlocksactive_note,dataview_query,base_query)
Contents — Why · Quick start · What you get · How it works · Companion plugin · Troubleshooting · Recent releases
.md files directly from disk. Obsidian can be closed; your vault is just a folder.qwen3-embedding:0.6b, nomic-embed-text, bge-m3, etc. with one env var.npx install — no clone, no build, no API key, no hosted endpoint. Vault content never leaves your machine./bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/sweir1/obsidian-brain/main/scripts/install.sh)"
Installs Homebrew + Node 20+ if you don't already have them, adds the /usr/local/bin symlinks that Claude Desktop needs, merges obsidian-brain into your claude_desktop_config.json, opens the Full Disk Access pane for you to toggle Claude on, and relaunches Claude. You'll be asked for your macOS password once (for Homebrew + the symlinks) and your vault path once. Everything else is automatic. Audit what it does: scripts/install.sh.
Requires Node 20+ and an Obsidian vault (or any folder of .md files — Obsidian itself is optional).
Wire obsidian-brain into your MCP client. Example for Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"obsidian-brain": {
"command": "npx",
"args": ["-y", "obsidian-brain@latest", "server"],
"env": { "VAULT_PATH": "/absolute/path/to/your/vault" }
}
}
}
Quit Claude Desktop (⌘Q on macOS) and relaunch. That's it.
[!NOTE] On first boot the server auto-indexes your vault and downloads a ~34 MB embedding model. Tools may take 30–60 s to appear in the client. Subsequent boots are instant.
[!TIP] Not a developer? The macOS walkthrough covers Homebrew, Node, the GUI-app PATH fix, and Full Disk Access step-by-step.
For every other MCP client (Claude Code, Cursor, VS Code, Jan, Windsurf, Cline, Zed, LM Studio, JetBrains AI, Opencode, Codex CLI, Gemini CLI, Warp): see Install in your MCP client.
→ Full env-var reference: Configuration → Model / preset / Ollama details: Embedding model → Migrating from aaronsb's plugin: Migration guide
18 MCP tools grouped by intent:
search, list_notes, read_notefind_connections, find_path_between, detect_themes, rank_notescreate_note, edit_note, apply_edit_preview, link_notes, move_note, delete_noteactive_note, dataview_query, base_queryreindex, index_status→ Arguments, examples, and response shapes: Tool reference
flowchart LR
Client["<b>MCP Client</b><br/>Claude Desktop · Claude Code<br/>Cursor · Jan · Windsurf · ..."]
subgraph OB ["obsidian-brain (Node process)"]
direction TB
SQL["<b>SQLite index</b><br/>nodes · edges<br/>FTS5 · vec0 embeddings"]
Vault["<b>Vault on disk</b><br/>your .md files"]
Vault -->|"parse + embed"| SQL
SQL -.->|"writes"| Vault
end
Client <-->|"stdio JSON-RPC"| OB
Retrieval and writes both go through a SQLite index: reads are microsecond-cheap, writes land on disk immediately and incrementally re-index the affected file. Embeddings are chunk-level (heading-aware recursive chunker preserving code + LaTeX blocks), and search's default hybrid mode fuses chunk-level semantic rank with FTS5 BM25 via Reciprocal Rank Fusion.
→ Deeper write-up — why stdio, why SQLite, why local embeddings: Architecture → Live watcher behaviour + debounces: Live updates → Scheduled reindex (macOS launchd / Linux systemd): Scheduled indexing (macOS) · (Linux)
An optional Obsidian plugin at sweir1/obsidian-brain-plugin exposes live Obsidian runtime state — active editor, Dataview results, Bases rows — over a localhost HTTP endpoint. When installed and Obsidian is running, active_note, dataview_query, and base_query light up. Install via BRAT with repo ID sweir1/obsidian-brain-plugin.
Ship plugin and server at the same major.minor — server v1.7.x pairs with plugin v1.7.x. Patch-version drift is fine.
→ Security model, capability handshake, Dataview / Bases feature coverage: Companion plugin
Four most common:
~/Library/Logs/Claude/mcp-server-obsidian-brain.log. Fix: npm install -g obsidian-brain@latest, quit Claude (⌘Q), relaunch.ERR_DLOPEN_FAILED / NODE_MODULE_VERSION mismatch — better-sqlite3 built against a different Node ABI. Fix: PATH=/opt/homebrew/bin:$PATH npm rebuild -g better-sqlite3.Vault path not configured — VAULT_PATH is unset. Set it in the env block of your client config or shell.npx (your client still shows the previous release after a publish) — stale npx cache. Fix: rm -rf ~/.npm/_npx, then restart your client. Keeping @latest in your config prevents this.→ Full troubleshooting guide (watcher not firing, stale index, running multiple clients, timeouts, embedding-dim mismatch, log locations): docs/troubleshooting.md
ollama pull + docs/test polish→ Full changelog: docs/CHANGELOG.md · Forward plan: docs/roadmap.md · Build from source: docs/development.md
Thanks to obra/knowledge-graph and aaronsb/obsidian-mcp-plugin for the ideas and code this project draws on. Also Xenova/transformers.js (local embeddings), graphology (graph analytics), and sqlite-vec (vector search in SQLite).
apple-notes-brain — sibling
MCP server for Apple Notes on macOS: read, write, and search with full
Markdown round-trip in both directions.Apache License 2.0 — Copyright 2026 sweir1.
Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required.
{ "mcpServers": { "io.github.sweir1-obsidian-brain": { "command": "npx", "args": [ "-y", "[email protected]" ], "env": { "VAULT_PATH": "<value>", "DATA_DIR": "<value>", "EMBEDDING_PRESET": "<value>", "EMBEDDING_MODEL": "<value>", "EMBEDDING_PROVIDER": "<value>", "OLLAMA_BASE_URL": "<value>", "OLLAMA_EMBEDDING_DIM": "<value>", "OLLAMA_NUM_CTX": "<value>", "OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL": "<value>", "OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL": "<value>", "OBSIDIAN_BRAIN_NO_WATCH": "<value>", "OBSIDIAN_BRAIN_NO_CATCHUP": "<value>", "OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS": "<value>", "OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS": "<value>", "OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS": "<value>", "OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS": "<value>", "OBSIDIAN_BRAIN_CONFIG_DIR": "<value>", "OBSIDIAN_BRAIN_DEBUG": "<value>", "OBSIDIAN_BRAIN_LOG_FORMAT": "<value>" } } }}เครื่องมือ
ยังไม่มีรายการเครื่องมือ เซิร์ฟเวอร์แบบรีโมตจะได้รายการหลังการตรวจสอบสถานะครั้งแรก
FAQ
คัดลอกคอนฟิก stdio สำหรับ Cursor, Claude Desktop, Claude Code หรือ VS Code ได้ในหน้านี้ คอนฟิกนี้ใช้การติดตั้งของผู้เผยแพร่ ไม่ใช่พร็อกซีของ PlugMCP
ผู้เผยแพร่ระบุตัวแปรสภาพแวดล้อมเหล่านี้: VAULT_PATH, DATA_DIR, EMBEDDING_PRESET, EMBEDDING_MODEL, EMBEDDING_PROVIDER, OLLAMA_BASE_URL, OLLAMA_EMBEDDING_DIM, OLLAMA_NUM_CTX, OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL, OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL, OBSIDIAN_BRAIN_NO_WATCH, OBSIDIAN_BRAIN_NO_CATCHUP, OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS, OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS, OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS, OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS, OBSIDIAN_BRAIN_CONFIG_DIR, OBSIDIAN_BRAIN_DEBUG, OBSIDIAN_BRAIN_LOG_FORMAT
Obsidian Brain ทำงานแบบโลคัลผ่าน stdio
ตรวจสอบล่าสุดเมื่อ 2026-11-10 Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required.