Skip to main content
Add persistent memory to OpenCode with the Mem0 plugin. Your agent forgets everything between sessions. Mem0 fixes that by storing decisions, preferences, and learnings so they carry over automatically.
Current package version: 0.3.0.

Prerequisites

  1. A Mem0 API key (starts with m0-):
  2. Add it to your shell profile so it persists across sessions:

Installation

Or let your agent do it: paste this into OpenCode:
This adds the plugin to your ~/.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 your opencode.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: Select /mem0-scope global before requesting a cross-project tool operation. A tool cannot enable global scope by supplying an argument alone. Switch back with /mem0-scope project when finished. To change the default scope (used when no scope is passed), run the /mem0-scope skill:
The default persists in ~/.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.

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-plugin again, then restart
  • Hooks not firing: Hooks require the plugin install (Option A). MCP-only installs don’t include hooks.
  • 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.