Skip to content

Backend overview

The brain is backend-agnostic. Three implementations ship in the box; all expose the same MCP tools (brain_recall, brain_remember, brain_update, etc.) and follow the same discipline rules.

Quick comparison

FeatureTriliumObsidianNotion
Self-hosted✅ (vault is local)❌ (cloud)
Syncoptional Trilium-Syncmanual / iCloud / Syncthing / Obsidian Syncbuilt-in
Searchstructured query langsubstring (grep)Notion search
Attributes / tagsfirst-class labelsinline #tag in bodymulti-select properties
Setup difficultymedium (Docker)low (just a vault dir)low (token + share page)
Best forstructured power userslocal-first workflowsteams, sharing

How the swap works

The MCP server reads BRAIN_BACKEND at startup and instantiates one adapter:

Terminal window
export BRAIN_BACKEND=trilium # or obsidian, or notion

All other env vars are backend-specific — see each backend’s page.

Adding your own

Want a different backend? See Writing your own backend — implement the BrainAdapter interface (7 methods), register it in the factory, ship.