Prerequisites
-
A Mem0 API key (starts with
m0-):- Get your API key (free sign-up at app.mem0.ai)
- Add it to your shell profile so it persists across sessions:
Installation
Option A: Plugin Install (Recommended)
~/.config/opencode/opencode.json. Restart OpenCode. You get the native memory tools, lifecycle hooks, and all /mem0-* slash commands. The memory tools are registered by the plugin itself via the mem0ai SDK. No MCP server to configure.
Option B: Standalone MCP Server
If you only need the memory tools without the plugin’s hooks or skills, point OpenCode at Mem0’s hosted MCP server directly. Add this to youropencode.json (project-level or global at ~/.config/opencode/opencode.json):
What’s Included
Available Memory Tools
Memory scope
search_memories, get_memories, add_memory, and delete_all_memories accept an optional scope that controls how widely they read or write:
Ask naturally, for example, “search my memories across all my projects”. The agent passes
scope: "global". For normal questions it stays scoped to the current project automatically.
To change the default scope (used when no scope is passed), run the /mem0-scope skill:
~/.mem0/settings.json (default_scope) and is read fresh on each memory operation, so a change applies immediately. No restart. delete_all_memories always requires an explicit scope: "global" to delete user-wide, so changing the default can’t trigger a cross-project wipe.
The project id (app_id) is derived from your git remote (owner-repo), falling back to the git repo’s root directory name, then the current directory. Launch OpenCode from inside your repo so memories scope to the project rather than your home directory.
Lifecycle Hooks
The plugin uses the mem0ai TypeScript SDK directly. It is pure TypeScript, no Python, no shell scripts.Auto-dream (memory consolidation)
The plugin can automatically consolidate stored memories by merging duplicates, dropping stale/sensitive entries, and rewriting vague ones. This keeps your memory set clean over time. It runs at most once per session, and only when all gates pass:- Time: at least
minHours(default 24) since the last consolidation - Sessions: at least
minSessions(default 5) sessions since then - Memories: at least
minMemories(default 20) stored for the project
~/.mem0/mem0-dream.lock) keeps two sessions from consolidating at once. Tune the thresholds with a dream block in ~/.mem0/settings.json, or disable entirely with MEM0_DREAM=false:
/mem0-status to see the exact gate progress (e.g. sessions 2/5, memories 3/20), /mem0-dream to consolidate now regardless of the gates, or lower the thresholds above.
Troubleshooting
- No tools appearing: Restart OpenCode after installing
- “Connection failed”: Verify your key is set:
echo $MEM0_API_KEY - Plugin not loading: Run
opencode plugin @mem0/opencode-pluginagain, then restart - Hooks not firing: Hooks require the plugin install (Option A). MCP-only installs don’t include hooks.
- Auto-dream never runs: It’s gated (time + sessions + memories). Run
/mem0-statusto see which gate is blocking, or/mem0-dreamto consolidate now. - Wrong project name / memories not found: The project id comes from your git remote; launch OpenCode from inside the repo (not your home directory). Check the resolved id with
/mem0-status.
Mem0 MCP Setup
Detailed MCP configuration for all clients
Antigravity Integration
Add Mem0 memory to Google Antigravity
Using Mem0? Star us on GitHub to help more developers discover memory for AI apps.