---
bezeichner: "io.github.sweir1/obsidian-brain"
art: "mcp_server"
slug: "io-github-sweir1-obsidian-brain"
paketkoordinate: "npm:obsidian-brain"
status: "aktiv"
homepage: "https://sweir1.github.io/obsidian-brain/"
erhebungsstand: "2026-10-10T01:17:01.464Z"
namensraum: "io.github.sweir1"
registerseite: "https://tracevero.de/mcp/io-github-sweir1-obsidian-brain"
abgerufen_am: "2026-10-10"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: true
quelloffen_einsehbar: true
einsatzgebiet: "wissen"
roh_beschreibung: "Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required."
version: "1.7.24"
roh_umgebungsvariablen: "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"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/sweir1/obsidian-brain"
roh_paketquellen: "npm"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: "OBSIDIAN_BRAIN_CONFIG_DIR"
roh_remote_adressen: ""
roh_remote_hosts: ""
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-05-16"
roh_aktualisiert_am: "2026-05-16"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "obsidian-brain"
roh_paketversionen: "1.7.24"
roh_laufzeithinweise: "npx"
roh_umgebungsformate: "filepath, number, string"
roh_umgebungsbeschreibungen: "DATA_DIR=Where to store the SQLite index + embedding cache. Defaults to $XDG_DATA_HOME/obsidian-brain or ~/.local/share/obsidian-brain. · EMBEDDING_MODEL=Power-user override: any transformers.js checkpoint or Ollama model id. Takes precedence over EMBEDDING_PRESET. Switching auto-reindexes. · 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_PROVIDER=Embedding backend. 'transformers' (local, default) or 'ollama' (requires a running Ollama server). · 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_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. · OBSIDIAN_BRAIN_LOG_FORMAT=Set to 'ndjson' for one-JSON-object-per-line stderr output (timestamp + level + message + structured fields). Default is human-readable plain text (`obsidian-brain: <message>`). Useful for piping logs into aggregators (Datadog, Loki, Vector, journald) that index structured fields. · 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_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_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_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 entirely (master kill-switch) and fall back to the actionable error path (`HTTP 404 — try: ollama pull <model>`). · OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL=Opt-in to auto-pull for BYOM (custom EMBEDDING_MODEL) Ollama models OUTSIDE Ollama's official `library/` namespace. Default OFF — third-party models (e.g. `user/custom-fork`, `myregistry.com/team/model`) require this env var to be set to `1` before they will auto-pull, to prevent silent downloads of arbitrary user-named artifacts. Preset-known models (via EMBEDDING_PRESET) and bare model ids in the official library (e.g. `qwen3-embedding:0.6b`, `library/llama3:8b`) continue to auto-pull by default per the existing OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL behavior. · OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS=Per-tool-call timeout in milliseconds. Tools exceeding this return an MCP error instead of hanging. · OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS=Per-file reindex debounce for the live watcher, in milliseconds. · 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. Leave UNSET to let obsidian-brain auto-detect via `/api/show`'s `context_length` (e.g. nomic-embed-text=2048, bge-m3=8192, qwen3-embedding:0.6b=32 768). Setting this manually imposes a hard cap and may silently truncate longer inputs — see https://github.com/ollama/ollama/issues/14259. Ollama's own default is 2048 which truncates for any model trained on a larger context. See also https://github.com/ollama/ollama/issues/7008. Fallback when both env is unset AND /api/show is unreachable: 8192. · VAULT_PATH=Absolute path to your Obsidian vault (or any folder of .md files)."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"obsidian-brain\",\"version\":\"1.7.24\",\"runtimeHint\":\"npx\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"VAULT_PATH\",\"description\":\"Absolute path to your Obsidian vault (or any folder of .md files).\",\"format\":\"string\",\"required\":true,\"secret\":false},{\"name\":\"DATA_DIR\",\"description\":\"Where to store the SQLite index + embedding cache. Defaults to $XDG_DATA_HOME/obsidian-brain or ~/.local/share/obsidian-brain.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EMBEDDING_PRESET\",\"description\":\"Preset name: english (default, bge-small-en-v1.5), english-fast, english-quality, multilingual, multilingual-quality, multilingual-ollama. Ignored when EMBEDDING_MODEL is set.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EMBEDDING_MODEL\",\"description\":\"Power-user override: any transformers.js checkpoint or Ollama model id. Takes precedence over EMBEDDING_PRESET. Switching auto-reindexes.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EMBEDDING_PROVIDER\",\"description\":\"Embedding backend. 'transformers' (local, default) or 'ollama' (requires a running Ollama server).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OLLAMA_BASE_URL\",\"description\":\"Base URL of a local Ollama server. Only used when EMBEDDING_PROVIDER=ollama.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OLLAMA_EMBEDDING_DIM\",\"description\":\"Override the embedding dimensionality when EMBEDDING_PROVIDER=ollama. If unset, the server probes the model on startup.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"OLLAMA_NUM_CTX\",\"description\":\"Override Ollama's num_ctx for embed requests. Leave UNSET to let obsidian-brain auto-detect via `/api/show`'s `context_length` (e.g. nomic-embed-text=2048, bge-m3=8192, qwen3-embedding:0.6b=32 768). Setting this manually imposes a hard cap and may silently truncate longer inputs — see https://github.com/ollama/ollama/issues/14259. Ollama's own default is 2048 which truncates for any model trained on a larger context. See also https://github.com/ollama/ollama/issues/7008. Fallback when both env is unset AND /api/show is unreachable: 8192.\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL\",\"description\":\"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 entirely (master kill-switch) and fall back to the actionable error path (`HTTP 404 — try: ollama pull <model>`).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL\",\"description\":\"Opt-in to auto-pull for BYOM (custom EMBEDDING_MODEL) Ollama models OUTSIDE Ollama's official `library/` namespace. Default OFF — third-party models (e.g. `user/custom-fork`, `myregistry.com/team/model`) require this env var to be set to `1` before they will auto-pull, to prevent silent downloads of arbitrary user-named artifacts. Preset-known models (via EMBEDDING_PRESET) and bare model ids in the official library (e.g. `qwen3-embedding:0.6b`, `library/llama3:8b`) continue to auto-pull by default per the existing OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL behavior.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_NO_WATCH\",\"description\":\"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).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_NO_CATCHUP\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS\",\"description\":\"Per-file reindex debounce for the live watcher, in milliseconds.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS\",\"description\":\"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.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS\",\"description\":\"Per-tool-call timeout in milliseconds. Tools exceeding this return an MCP error instead of hanging.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS\",\"description\":\"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.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_CONFIG_DIR\",\"description\":\"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.\",\"format\":\"filepath\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_DEBUG\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OBSIDIAN_BRAIN_LOG_FORMAT\",\"description\":\"Set to 'ndjson' for one-JSON-object-per-line stderr output (timestamp + level + message + structured fields). Default is human-readable plain text (`obsidian-brain: <message>`). Useful for piping logs into aggregators (Datadog, Loki, Vector, journald) that index structured fields.\",\"format\":\"string\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":true}],\"remotes\":[]}"
---

# Obsidian Brain

## Gemessene Werte

| Merkmal | Wert | Quelle | Erhoben am | Vertrauensgrad | Rohangabe |
| --- | --- | --- | --- | --- | --- |
| Pflicht-Geheimnisse deklariert | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Ausführungsort | lokal | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_transportarten: stdio |
| Pfadargument vorhanden | true | MCP-Register | 2026-08-16T01:17:01.420Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: OBSIDIAN_BRAIN_CONFIG_DIR |
| Repository-Adresse geführt | true | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_repository_url: https://github.com/sweir1/obsidian-brain |
| Einsatzgebiet, aus der Anbieterbeschreibung abgeleitet | gedaechtnis | MCP-Register | 2026-08-26T16:45:01.514Z | abgeleitet | roh_beschreibung: Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required. |
| Einsatzgebiet, aus der Anbieterbeschreibung abgeleitet | wissen | MCP-Register | 2026-08-26T16:45:01.514Z | abgeleitet | roh_beschreibung: Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required. |
| Beschreibung (Rohangabe) | Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required. | MCP-Register | 2026-08-26T16:45:01.514Z | selbstauskunft |  |
| Deklarierte Version | 1.7.24 | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Umgebungsvariablen (Rohangabe) | 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 | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Geheime Pflichtvariablen (Rohangabe) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Transportarten (Rohangabe) | stdio | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Pfadargumente (Rohangabe) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Repository (Rohangabe) | https://github.com/sweir1/obsidian-brain | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Paketquellen (Rohangabe) | npm | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Geheime Pflichtkopfzeilen (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Pfad-Umgebungsvariablen (Rohangabe) | OBSIDIAN_BRAIN_CONFIG_DIR | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote-Adressen (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote-Hosts (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Statusmeldung des Registers (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Im Register eingetragen am (Rohangabe) | 2026-05-16 | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Im Register geändert am (Rohangabe) | 2026-05-16 | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Schemafassung des Rohsatzes (Rohangabe) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Bereitstellungsform (Rohangabe) | paket | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository-Plattform (Rohangabe) | github | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository-Unterordner (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Paketbezeichner (Rohangabe) | obsidian-brain | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Paketversionen (Rohangabe) | 1.7.24 | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Laufzeithinweise (Rohangabe) | npx | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Formate der Umgebungsvariablen (Rohangabe) | filepath, number, string | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Beschreibungen der Umgebungsvariablen (Rohangabe) | DATA_DIR=Where to store the SQLite index + embedding cache. Defaults to $XDG_DATA_HOME/obsidian-brain or ~/.local/share/obsidian-brain. · EMBEDDING_MODEL=Power-user override: any transformers.js checkpoint or Ollama model id. Takes precedence over EMBEDDING_PRESET. Switching auto-reindexes. · 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_PROVIDER=Embedding backend. 'transformers' (local, default) or 'ollama' (requires a running Ollama server). · 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_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. · OBSIDIAN_BRAIN_LOG_FORMAT=Set to 'ndjson' for one-JSON-object-per-line stderr output (timestamp + level + message + structured fields). Default is human-readable plain text (`obsidian-brain: <message>`). Useful for piping logs into aggregators (Datadog, Loki, Vector, journald) that index structured fields. · 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_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_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_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 entirely (master kill-switch) and fall back to the actionable error path (`HTTP 404 — try: ollama pull <model>`). · OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL=Opt-in to auto-pull for BYOM (custom EMBEDDING_MODEL) Ollama models OUTSIDE Ollama's official `library/` namespace. Default OFF — third-party models (e.g. `user/custom-fork`, `myregistry.com/team/model`) require this env var to be set to `1` before they will auto-pull, to prevent silent downloads of arbitrary user-named artifacts. Preset-known models (via EMBEDDING_PRESET) and bare model ids in the official library (e.g. `qwen3-embedding:0.6b`, `library/llama3:8b`) continue to auto-pull by default per the existing OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL behavior. · OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS=Per-tool-call timeout in milliseconds. Tools exceeding this return an MCP error instead of hanging. · OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS=Per-file reindex debounce for the live watcher, in milliseconds. · 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. Leave UNSET to let obsidian-brain auto-detect via `/api/show`'s `context_length` (e.g. nomic-embed-text=2048, bge-m3=8192, qwen3-embedding:0.6b=32 768). Setting this manually imposes a hard cap and may silently truncate longer inputs — see https://github.com/ollama/ollama/issues/14259. Ollama's own default is 2048 which truncates for any model trained on a larger context. See also https://github.com/ollama/ollama/issues/7008. Fallback when both env is unset AND /api/show is unreachable: 8192. · VAULT_PATH=Absolute path to your Obsidian vault (or any folder of .md files). | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Symbolformate (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Verbindungswege (Quellstruktur) | {"packages":[{"registryType":"npm","identifier":"obsidian-brain","version":"1.7.24","runtimeHint":"npx","transport":"stdio","environment":[{"name":"VAULT_PATH","description":"Absolute path to your Obsidian vault (or any folder of .md files).","format":"string","required":true,"secret":false},{"name":"DATA_DIR","description":"Where to store the SQLite index + embedding cache. Defaults to $XDG_DATA_HOME/obsidian-brain or ~/.local/share/obsidian-brain.","format":"string","required":false,"secret":false},{"name":"EMBEDDING_PRESET","description":"Preset name: english (default, bge-small-en-v1.5), english-fast, english-quality, multilingual, multilingual-quality, multilingual-ollama. Ignored when EMBEDDING_MODEL is set.","format":"string","required":false,"secret":false},{"name":"EMBEDDING_MODEL","description":"Power-user override: any transformers.js checkpoint or Ollama model id. Takes precedence over EMBEDDING_PRESET. Switching auto-reindexes.","format":"string","required":false,"secret":false},{"name":"EMBEDDING_PROVIDER","description":"Embedding backend. 'transformers' (local, default) or 'ollama' (requires a running Ollama server).","format":"string","required":false,"secret":false},{"name":"OLLAMA_BASE_URL","description":"Base URL of a local Ollama server. Only used when EMBEDDING_PROVIDER=ollama.","format":"string","required":false,"secret":false},{"name":"OLLAMA_EMBEDDING_DIM","description":"Override the embedding dimensionality when EMBEDDING_PROVIDER=ollama. If unset, the server probes the model on startup.","format":"number","required":false,"secret":false},{"name":"OLLAMA_NUM_CTX","description":"Override Ollama's num_ctx for embed requests. Leave UNSET to let obsidian-brain auto-detect via `/api/show`'s `context_length` (e.g. nomic-embed-text=2048, bge-m3=8192, qwen3-embedding:0.6b=32 768). Setting this manually imposes a hard cap and may silently truncate longer inputs — see https://github.com/ollama/ollama/issues/14259. Ollama's own default is 2048 which truncates for any model trained on a larger context. See also https://github.com/ollama/ollama/issues/7008. Fallback when both env is unset AND /api/show is unreachable: 8192.","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL","description":"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 entirely (master kill-switch) and fall back to the actionable error path (`HTTP 404 — try: ollama pull <model>`).","format":"string","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULL","description":"Opt-in to auto-pull for BYOM (custom EMBEDDING_MODEL) Ollama models OUTSIDE Ollama's official `library/` namespace. Default OFF — third-party models (e.g. `user/custom-fork`, `myregistry.com/team/model`) require this env var to be set to `1` before they will auto-pull, to prevent silent downloads of arbitrary user-named artifacts. Preset-known models (via EMBEDDING_PRESET) and bare model ids in the official library (e.g. `qwen3-embedding:0.6b`, `library/llama3:8b`) continue to auto-pull by default per the existing OBSIDIAN_BRAIN_OLLAMA_AUTO_PULL behavior.","format":"string","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_NO_WATCH","description":"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).","format":"string","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_NO_CATCHUP","description":"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.","format":"string","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MS","description":"Per-file reindex debounce for the live watcher, in milliseconds.","format":"number","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MS","description":"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.","format":"number","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_TOOL_TIMEOUT_MS","description":"Per-tool-call timeout in milliseconds. Tools exceeding this return an MCP error instead of hanging.","format":"number","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_MAX_CHUNK_TOKENS","description":"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.","format":"number","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_CONFIG_DIR","description":"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.","format":"filepath","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_DEBUG","description":"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.","format":"string","required":false,"secret":false},{"name":"OBSIDIAN_BRAIN_LOG_FORMAT","description":"Set to 'ndjson' for one-JSON-object-per-line stderr output (timestamp + level + message + structured fields). Default is human-readable plain text (`obsidian-brain: <message>`). Useful for piping logs into aggregators (Datadog, Loki, Vector, journald) that index structured fields.","format":"string","required":false,"secret":false}],"additional_arguments_declared":true}],"remotes":[]} | MCP-Register | 2026-09-08T01:17:01.649Z | selbstauskunft |  |

## Verweise

- Namensraum: [[namensraum/io-github-sweir1|io.github.sweir1]]

---

- Registerseite: <https://tracevero.de/mcp/io-github-sweir1-obsidian-brain>
- Abgerufen am: 2026-10-10
