Installation
Get memex running in under 2 minutes.
Install
npm install -g @evan-moon/memex
Connect your apps
Open the app and use the Connect screen:
memex ui
It lists every MCP client on this machine — Claude, Claude Code, Codex, Cursor — and says which ones can already reach memex. One button registers the rest. Restart a client after connecting it.
The same thing from the terminal:
memex mcp install
Either way memex writes each client's own config file, leaving the servers already in it alone. If a client still runs an older copy of memex, both paths repoint it.
That's it. On first run, the embedding model (~450 MB) downloads once to ~/.memex/models/. All subsequent runs are fully offline.
What gets created
~/.memex/
config.json, vault path and settings
memex.db, SQLite database (notes + embeddings + FTS5)
models/, cached multilingual-e5-base model
Notes are saved as plain Markdown files in your vault (default: ~/Documents/Second Brain). They're fully Obsidian-compatible.
Change the vault path
memex config set vault-path ~/my-notes
Verify the setup
memex list # lists recent notes (empty on first run)
memex config show # shows current config
Once you've connected memex to Claude, try asking Claude about something you've worked on. If the topic could relate to a past conversation or decision, Claude will automatically search your notes before answering.
Upgrading from an older version
On first run after upgrading, memex applies idempotent schema migrations, it adds a layer column to existing notes (folder-based backfill: projects / dev / herald → state, coding → rule, everything else → past) and a source column to note_links for the flashback feature. Run memex layer to see the resulting distribution, and memex layer <id> <layer> to correct any individual notes.
See Note layers for what each layer means.