← Index

Obsidian Brain

io.github.sweir1/obsidian-brain·v1.7.21·Search
Quality Score
95
/100

Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required.

§01  Install
Claude Desktop (claude_desktop_config.json)
{
  "mcpServers": {
    "obsidian-brain": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-brain"
      ],
      "env": {
        "VAULT_PATH": "<vault_path>",
        "DATA_DIR": "<data_dir>",
        "EMBEDDING_PRESET": "english",
        "EMBEDDING_MODEL": "<embedding_model>",
        "EMBEDDING_PROVIDER": "transformers",
        "OLLAMA_BASE_URL": "http://localhost:11434",
        "OLLAMA_EMBEDDING_DIM": "<ollama_embedding_dim>",
        "OLLAMA_NUM_CTX": "<ollama_num_ctx>",
        "OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL": "<obsidian_brain_ollama_auto_pull>",
        "OBSIDIAN_BRAIN_NO_WATCH": "<obsidian_brain_no_watch>",
        "OBSIDIAN_BRAIN_NO_CATCHUP": "<obsidian_brain_no_catchup>",
        "OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS": "3000",
        "OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS": "60000",
        "OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS": "30000",
        "OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS": "<obsidian_brain_max_chunk_tokens>",
        "OBSIDIAN_BRAIN_CONFIG_DIR": "<obsidian_brain_config_dir>",
        "OBSIDIAN_BRAIN_DEBUG": "<obsidian_brain_debug>"
      }
    }
  }
}
Cursor (.cursor/mcp.json)
{
  "mcpServers": {
    "obsidian-brain": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-brain"
      ],
      "env": {
        "VAULT_PATH": "<vault_path>",
        "DATA_DIR": "<data_dir>",
        "EMBEDDING_PRESET": "english",
        "EMBEDDING_MODEL": "<embedding_model>",
        "EMBEDDING_PROVIDER": "transformers",
        "OLLAMA_BASE_URL": "http://localhost:11434",
        "OLLAMA_EMBEDDING_DIM": "<ollama_embedding_dim>",
        "OLLAMA_NUM_CTX": "<ollama_num_ctx>",
        "OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL": "<obsidian_brain_ollama_auto_pull>",
        "OBSIDIAN_BRAIN_NO_WATCH": "<obsidian_brain_no_watch>",
        "OBSIDIAN_BRAIN_NO_CATCHUP": "<obsidian_brain_no_catchup>",
        "OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS": "3000",
        "OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS": "60000",
        "OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS": "30000",
        "OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS": "<obsidian_brain_max_chunk_tokens>",
        "OBSIDIAN_BRAIN_CONFIG_DIR": "<obsidian_brain_config_dir>",
        "OBSIDIAN_BRAIN_DEBUG": "<obsidian_brain_debug>"
      }
    }
  }
}
Cline (cline_mcp_settings.json)
npx -y obsidian-brain
§02  Environment variables
VAULT_PATH
required

Absolute path to your Obsidian vault (or any folder of .md files).

DATA_DIR

Where to store the SQLite index + embedding cache. Defaults to $XDG_DATA_HOME/obsidian-brain or ~/.local/share/obsidian-brain.

EMBEDDING_PRESET

Preset name: english (default, bge-small-en-v1.5), english-fast, english-quality, multilingual, multilingual-quality, multilingual-ollama. Ignored when EMBEDDING_MODEL is set.

EMBEDDING_MODEL

Power-user override: any transformers.js checkpoint or Ollama model id. Takes precedence over EMBEDDING_PRESET. Switching auto-reindexes.

EMBEDDING_PROVIDER

Embedding backend. 'transformers' (local, default) or 'ollama' (requires a running Ollama server).

OLLAMA_BASE_URL

Base URL of a local Ollama server. Only used when EMBEDDING_PROVIDER=ollama.

OLLAMA_EMBEDDING_DIM

Override the embedding dimensionality when EMBEDDING_PROVIDER=ollama. If unset, the server probes the model on startup.

OLLAMA_NUM_CTX

Override Ollama's num_ctx for embed requests. Default 8192. Ollama's own default is 2048 which silently truncates long chunks for models trained on larger contexts (nomic-embed-text at 8192, bge-m3 at 8192, qwen3-embedding:0.6b at 32 768). See https://github.com/ollama/ollama/issues/7008.

OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL

Auto-pull the configured Ollama model when /api/show returns 404 (model not present). Default ON — choosing an Ollama-backed preset is implicit consent to download its model. Streams /api/pull progress to stderr. Set to '0' to disable auto-pull and fall back to the actionable error path (`HTTP 404 — try: ollama pull <model>`).

OBSIDIAN_BRAIN_NO_WATCH

Set to '1' to disable the live chokidar file watcher. Useful on SMB/NFS vaults where FSEvents/inotify don't fire reliably — fall back to running `obsidian-brain index` on a schedule (launchd/systemd).

OBSIDIAN_BRAIN_NO_CATCHUP

Set to '1' to skip the startup catchup reindex pass that picks up edits made while the server was down. The live file watcher still starts (via OBSIDIAN_BRAIN_NO_WATCH=1 to disable that separately), and first-time indexing on an empty DB is unaffected — this knob only governs the post-restart `enqueueBackgroundReindex` walk.

OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS

Per-file reindex debounce for the live watcher, in milliseconds.

OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS

Graph-wide community-detection (Louvain) debounce for the live watcher, in milliseconds. Louvain is the only expensive op — batching it prevents per-edit CPU spikes.

OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS

Per-tool-call timeout in milliseconds. Tools exceeding this return an MCP error instead of hanging.

OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS

Override the adaptive chunk-size budget (in tokens). When set, this beats the capacity probed from the model's tokenizer or Ollama /api/show. Use for debugging or for models with stale tokenizer configs.

OBSIDIAN_BRAIN_CONFIG_DIR

Override the per-user config directory where obsidian-brain stores model overrides (`model-overrides.json`) and the user-fetched seed (`seed-models.json`). Default is `$XDG_CONFIG_HOME/obsidian-brain` on macOS/Linux (or `~/.config/obsidian-brain`) and `%APPDATA%/obsidian-brain` on Windows. Both files survive `npm update obsidian-brain` because they live outside the package.

OBSIDIAN_BRAIN_DEBUG

Set to "1" to print a verbose synchronous startup trace to stderr — every preflight, createContext, server.connect, and shutdown step is logged with a monotonic timestamp. The LAST line before any silent failure tells you exactly which step the server reached. No-op when unset (no overhead). Use to diagnose silent-crash failure modes.

§03  MCP Quality Score  ·  methodology
freshness
25
completeness
20
installability
25
documentation
15
stability
10
§04  Alternatives in Search