MCP setup
OpenMem registers stdio MCP servers in ~/.cursor/mcp.json (and wires session hooks via install-coding-agent). Day-to-day you want the unified openmem server (memory_* tools). Provider-native and NotebookLM servers are optional add-ons.
For why this exists, see Concepts. Install path: Quickstart § Wire your coding agent.
Quick path (recommended)
Section titled “Quick path (recommended)”npx @bcmyguest/openmem install-coding-agent --yesThat installs:
- Unified MCP (
openmem) —memory_add,memory_search,memory_recall,memory_reflect,memory_consolidate,memory_forget,memory_export/memory_import, ops tools - OpenMem skill + session hooks (Claude Code, Codex, OpenCode, Cursor CLI)
MCP only (no session hooks):
npx @bcmyguest/openmem install-mcp --yesRestart Cursor Agent (or your agent’s MCP host) after changes.
Server families
Section titled “Server families”| Server key | How to install | Tools | Backend |
|---|---|---|---|
openmem |
Default install-mcp / install-coding-agent |
Stable memory_* |
Active provider (MEMORY_PROVIDER): Hindsight, mem0, or Cognee |
Provider-native (mem0, cognee) |
install-mcp --provider-only |
Upstream / repo-specific names | Same HTTP API, different tool surface |
notebooklm |
When NotebookLM sync is on, or --notebooklm |
notebooklm_list_banks, notebooklm_search |
Search over synced notebooks on the active provider — not a memory engine |
Hindsight’s optional in-editor plugin (--hindsight-plugin) is not an MCP entry; it complements unified MCP on Hindsight stacks. See Hindsight.
When to use which
Section titled “When to use which”Default: unified memory_*
Section titled “Default: unified memory_*”Use when you want one tool contract that survives npx @bcmyguest/openmem switch <provider> without rewriting prompts.
npx @bcmyguest/openmem install-mcp --yesnpx @bcmyguest/openmem install-mcp --yes --notebooklm # also force NotebookLM MCPProvider-native (optional)
Section titled “Provider-native (optional)”Use when you already have prompts for upstream tool names:
MEMORY_PROVIDER=mem0 npx @bcmyguest/openmem install-mcp --yes --provider-onlynpx @bcmyguest/openmem install-mcp --yes --provider-only # Cognee when active- mem0:
cli/mem0-mcp.mjs→@yeyuan98/mem0-mcp(URL + path tomem0.envin JSON — never the key). Details: mem0. - Cognee:
cli/cognee-mcp.mjs(cognee_health,cognee_search;COGNEE_API_URLonly). Details: Cognee.
install-mcp --provider-only still merges unified openmem unless you also pass --no-unified-mcp. Both can coexist in mcp.json.
NotebookLM only
Section titled “NotebookLM only”npx @bcmyguest/openmem install-mcp --yes --notebooklm-onlyMutually exclusive with --provider-only. Read-only search over synced notebooks — not a substitute for project indexing or memory_*.
npx @bcmyguest/openmem install-mcp --yesnpx @bcmyguest/openmem install-mcp --yes --notebooklmnpx @bcmyguest/openmem install-mcp --yes --notebooklm-onlyMEMORY_PROVIDER=mem0 npx @bcmyguest/openmem install-mcp --yes --provider-onlynpx @bcmyguest/openmem install-mcp --yes --no-unified-mcpnpx @bcmyguest/openmem install-mcp --dry-run| Flag | Effect |
|---|---|
--yes |
No confirmation prompt |
--dry-run |
Print plan; do not write configs |
--notebooklm |
Enable NotebookLM agent access + merge notebooklm MCP |
--notebooklm-only |
Only NotebookLM step |
--provider-only |
Native mem0/Cognee MCP for active provider; skip NotebookLM |
--no-unified-mcp |
Do not merge the openmem server |
Provider resolution: MEMORY_PROVIDER → ~/.config/hindsight/wizard.conf → hindsight.
Merge behavior: Existing hindsight, codegraph, and notebooklm entries are preserved; mem0/Cognee entries are updated for the active provider.
Portability tools
Section titled “Portability tools”On the unified server, memory_export / memory_import speak PMM (Personal Memory Manifest). See Portable memory (PMM).
Related
Section titled “Related”- mem0 · Cognee · Hindsight
- Architecture — how
memory_*maps to provider HTTP - Quickstart