Sync your Obsidian vault into mybrain.ai. Notes and links become a searchable, lasting personal knowledge asset you can query and build on.
This official plugin, maintained by the mybrain.ai team, connects your Obsidian vault to your MyBrain account. Your notes and the links between them sync automatically, and MyBrain turns them into knowledge sources you can search, chat with, and build on alongside everything else you know — so your second brain becomes a lasting personal asset instead of information that sits still in a folder.

Note: A MyBrain account is required — the plugin does nothing without a bearer token issued by your account.
In Obsidian: Settings → Community plugins → Browse → search for "mybrain.ai" → Install → Enable.
The plugin's directory listing is at community.obsidian.md/plugins/mybrain-ai.
Receiving notes is not the same as using them. After the plugin syncs your vault, the MyBrain web app gives you two levels of control:
.obsidian by default; respects a custom configDir) are always skipped..md files are skipped as standalone sources. Binary attachments are uploaded only when referenced from a note.Once connected, the plugin asks your MyBrain endpoint for the latest published release about once a day (and on demand via Check for updates in plugin settings). When a newer version exists, it shows a notice and a dialog with the release notes and update instructions. The plugin never installs updates itself — updating happens through Obsidian's community-plugin updater. Each new version can be skipped per device; a skipped version stays silent until the next release ships, but the Plugin version row in settings keeps showing that an update is available.
The plugin runs on Obsidian Mobile. Attachment uploads on cellular can be expensive, so they're off by default on mobile — you can enable them under Sync attachments on mobile in plugin settings.
The plugin connects only to MyBrain's ingest endpoint. All traffic is over HTTPS / WSS to that single host. No other hosts are contacted from your machine, and no data is shared with third parties.
POST /manifest — the full vault listing: for every markdown file, the relative path, basename, content, frontmatter, modification time, size, and SHA-256 content hash. Sent on first connect (initial vault scan) and whenever the server asks for a refresh via the WebSocket below.POST /ingest — incremental vault deltas. For each changed file: the same fields as /manifest, plus extracted wikilink and standard-markdown-link targets, plus references (hash + path) to any non-markdown files the note embeds. Triggered (with a short debounce) by Obsidian's create/modify/delete/rename vault events.POST /attachments — binary contents of attachment files referenced by ![[file.ext]] or  in notes. Only sent when the server reports it doesn't already have a copy (content-hash deduplication).GET /ping — health check, sent when you click Test connection in plugin settings.GET /latest-release — the latest published plugin version and its release notes, used for update notifications. At most once a day, plus when you click Check for updates. MyBrain's servers source this from the plugin's GitHub releases — your machine never contacts GitHub.wss://…/ws — a long-lived WebSocket the plugin opens after authenticating and keeps connected for the lifetime of the session. It auto-reconnects with exponential backoff and jitter if the connection drops. Its purpose is to let the server push messages at any time: a manifest_request prompts the plugin to re-send POST /manifest (e.g. after a server-side index rebuild), and a sync-scope update changes which folders sync (see above). The connection authenticates by passing the bearer token as the bearer.<token> WebSocket subprotocol.Every request to your MyBrain endpoint carries two extra headers: X-MyBrain-Plugin-Version (the installed plugin version) and X-MyBrain-Device-Id (a random UUID generated per install and kept in device-local storage — it never syncs with your vault and never leaves your MyBrain endpoint). MyBrain uses them to show an update notice for your connected vault in the web app. How this data is handled is covered by the MyBrain privacy policy.
Your data goes only between your Obsidian vault and MyBrain's ingest endpoint. The per-install id and plugin version described under Version reporting are handled per the MyBrain privacy policy. The bearer token is stored in plain text inside this vault's plugin data; avoid storing production tokens in synced or shared vaults, and rotate the token in the MyBrain web app if the vault is compromised. The plugin's source code is open at github.com/mybrain-ai/obsidian-plugin for inspection.
To work on the plugin locally or test an unreleased version, sideload a development build:
git clone https://github.com/mybrain-ai/obsidian-plugin.git
cd obsidian-plugin
npm install
npm run build
This produces main.js in the repo root; manifest.json and styles.css are already in the repo. The build bakes in the production ingest endpoint as the default — to develop against a local backend, connect through the deep link from your locally running web app, which stores the local endpoint in the plugin's settings (stored settings always beat the baked default).~/Library/Application Support/obsidian/obsidian.json (%APPDATA%\obsidian\obsidian.json on Windows, ~/.config/obsidian/obsidian.json on Linux). The plugin folder inside any vault is <vault>/.obsidian/plugins/mybrain-ai/.mkdir -p "<vault>/.obsidian/plugins/mybrain-ai"
cp main.js manifest.json styles.css "<vault>/.obsidian/plugins/mybrain-ai/"
To iterate, re-run step 2 and copy the new main.js over; in Obsidian disable then re-enable the plugin (or use the "Hot reload" plugin) to pick up the change.
MIT — see LICENSE.