Obsidian Brain
CommunityMCP server by sweir1 · updated · ★ 12
Obsidian MCP server: semantic search, knowledge graph, and vault editing. No plugin required. Obsidian Brain is a community project by sweir1, not verified by a company domain.
Last commit 70 days ago
Apache-2.0: permissive, fine for commercial use
Clear description, published package or server URL, original repository
Not checked yet. What we check
What you need
| Setting | Needed | What it is |
|---|---|---|
VAULT_PATHEnvironment variable | Required | Absolute path to your Obsidian vault (or any folder of .md files). |
DATA_DIREnvironment variable | Optional | Where to store the SQLite index + embedding cache. Defaults to $XDG_DATA_HOME/obsidian-brain or ~/.local/share/obsidian-brain. |
EMBEDDING_PRESETEnvironment variable | Optional | Preset name: english (default, bge-small-en-v1.5), english-fast, english-quality, multilingual, multilingual-quality, multilingual-ollama. Ignored when EMBEDDING_MODEL is set. Default: english |
EMBEDDING_MODELEnvironment variable | Optional | Power-user override: any transformers.js checkpoint or Ollama model id. Takes precedence over EMBEDDING_PRESET. Switching auto-reindexes. |
EMBEDDING_PROVIDEREnvironment variable | Optional | Embedding backend. 'transformers' (local, default) or 'ollama' (requires a running Ollama server). Default: transformers |
OLLAMA_BASE_URLEnvironment variable | Optional | Base URL of a local Ollama server. Only used when EMBEDDING_PROVIDER=ollama. Default: http://localhost:11434 |
OLLAMA_EMBEDDING_DIMEnvironment variable | Optional | Override the embedding dimensionality when EMBEDDING_PROVIDER=ollama. If unset, the server probes the model on startup. |
OLLAMA_NUM_CTXEnvironment variable | Optional | 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 |
OBSIDIAN_BRAIN_OLLAMA_AUTO_PULLEnvironment variable | Optional | 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- |
OBSIDIAN_BRAIN_OLLAMA_BYOM_AUTO_PULLEnvironment variable | Optional | 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 |
OBSIDIAN_BRAIN_NO_WATCHEnvironment variable | Optional | 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_CATCHUPEnvironment variable | Optional | 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 |
OBSIDIAN_BRAIN_WATCH_DEBOUNCE_MSEnvironment variable | Optional | Per-file reindex debounce for the live watcher, in milliseconds. Default: 3000 |
OBSIDIAN_BRAIN_COMMUNITY_DEBOUNCE_MSEnvironment variable | Optional | 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. Default: 60000 |
OBSIDIAN_BRAIN_TOOL_TIMEOUT_MSEnvironment variable | Optional | Per-tool-call timeout in milliseconds. Tools exceeding this return an MCP error instead of hanging. Default: 30000 |
OBSIDIAN_BRAIN_MAX_CHUNK_TOKENSEnvironment variable | Optional | 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_DIREnvironment variable | Optional | 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- |
OBSIDIAN_BRAIN_DEBUGEnvironment variable | Optional | 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 |
OBSIDIAN_BRAIN_LOG_FORMATEnvironment variable | Optional | 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 |
From the publisher's entry in the official MCP Registry. Required settings are already in the install config below as placeholders.
Install Obsidian Brain
Built from the published package, never by AIclaude mcp add obsidian-brain -e VAULT_PATH=YOUR_VAULT_PATH -- npx -y obsidian-brainRun in your terminal. Add --scope user to use it in every project.
{
"mcpServers": {
"obsidian-brain": {
"command": "npx",
"args": [
"-y",
"obsidian-brain"
],
"env": {
"VAULT_PATH": "YOUR_VAULT_PATH"
}
}
}
}Settings, Developer, Edit config. Paste into claude_desktop_config.json and restart.
{
"mcpServers": {
"obsidian-brain": {
"command": "npx",
"args": [
"-y",
"obsidian-brain"
],
"env": {
"VAULT_PATH": "YOUR_VAULT_PATH"
}
}
}
}Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project).
{
"servers": {
"obsidian-brain": {
"command": "npx",
"args": [
"-y",
"obsidian-brain"
],
"env": {
"VAULT_PATH": "YOUR_VAULT_PATH"
}
}
}
}Add to .vscode/mcp.json. VS Code uses "servers", not "mcpServers".
codex mcp add obsidian-brain --env VAULT_PATH=YOUR_VAULT_PATH -- npx -y obsidian-brain{
"mcpServers": {
"obsidian-brain": {
"command": "npx",
"args": [
"-y",
"obsidian-brain"
],
"env": {
"VAULT_PATH": "YOUR_VAULT_PATH"
}
}
}
}Add to ~/.gemini/config/mcp_config.json (all projects) or .agents/mcp_config.json (this project).
gemini mcp add obsidian-brain npx -y obsidian-brainGemini CLI was replaced by Antigravity CLI in June 2026 and remains only for enterprise licences and paid API keys.
MCP servers run with your permissions and can read what you give them access to. Some need an API key: check the README and add it under env in the obsidian-brain block.
Alternatives to Obsidian Brain
All alternatives →Connect AI agents to Exa for web search, content fetching, and multi-step research.
Search and discover Agent Skills from the skills.sh registry. Powered by HAPI MCP server.
Visit https://brave.com/search/api/ for a free API key. Search the web, local businesses, images,…
Connect to Atlassian Jira, Confluence, Loom, and more to search, create, and manage your work.
Search, read, annotate, and add to your Zotero research library, local or web.
Digital asset manager - upload, organize, search, and generate on-brand images and videos
Obsidian Brain: common questions
How do I install Obsidian Brain?
In Claude Code run claude mcp add obsidian-brain -e VAULT_PATH=YOUR_VAULT_PATH -- npx -y obsidian-brain. For Claude Desktop, Cursor and VS Code, paste the config shown above and restart. See the install guides.
Is Obsidian Brain the official server?
Obsidian Brain is a community project by sweir1, not verified by a company domain.
Is Obsidian Brain free?
The code is published under the Apache-2.0 licence. The service it connects to may have its own pricing.
Is Obsidian Brain safe to use?
It scores 59 of 100. Grades: maintenance B, licence A, quality C. The security check has not run for it yet. Review the code before you install. How grades work.
What are alternatives to Obsidian Brain?
Similar MCP servers: exa, Agent Skills Search Server, brave, Atlassian Rovo MCP Server.
Does Obsidian Brain work with ChatGPT?
Not directly. It runs locally, and ChatGPT only connects to remote servers with a URL. Use it in Claude Code, Claude Desktop, Cursor, VS Code or Codex.
