Skip to main content
Your agent remembers the decisions, bugs, and conventions from earlier chats instead of starting cold every time.

Install

Requires Node.js on your PATH. Installing Cursor does not put one there.
Run this in Cursor:
Or install it from the Cursor Marketplace: open Customize, find Supermemory, select Install, and choose project or user scope. Restart Cursor or run Developer: Reload Window afterwards.

Authenticate

Open a new chat in Cursor and run:
A browser window opens. Sign in to Supermemory and you are done. As a fallback, set an API key from API Keys:
Restart Cursor after installing the plugin or changing credentials. Check the connection any time with /supermemory-status.
The slash commands just run the plugin’s CLI for you. To drive it yourself:
CURSOR_PLUGIN_ROOT is set for plugin hooks. If it is empty in your shell, run node dist/cli.js <command> from the installed plugin directory.Credentials are stored in ~/.supermemory-cursor/credentials.json.

How It Works

Skills and Commands

MCP Tools

Every tool that takes a container argument accepts:
  • "user" (default): personal memories for the current repository
  • "project": project knowledge for the current repository
  • "both": both scopes plus compatible legacy memories
  • any custom string: used as a raw container tag
user and project write to the same repository container. The sm_scope metadata field is what keeps personal and session memories separate from explicit project knowledge when an agent asks for one scope.

Container Tags

Cursor shares one repository tag with the Claude Code, OpenAI Codex, and OpenCode plugins, so agents working on the same repo read and write the same memory:
The project ID is a stable hash of the normalized Git remote. Repositories without a remote fall back to their resolved local path. Two repos with the same directory name never collide, and different agents on the same repository share memory. The plugin still reads the former cursor_user_* and cursor_project_* tags, along with legacy tags from the other agents. New writes only use the unified repository tag. Set repoContainerTag only when you need an explicit shared override.

Configuration

Prefer to keep everything on your machine? This plugin works with self-hosted Supermemory: run npx supermemory local, then set SUPERMEMORY_API_URL="http://localhost:6767" (or baseUrl in your config file) and use the API key printed on first boot.

Environment variables

Global config

~/.config/cursor/supermemory.json holds user-wide defaults and applies to all projects.

Project config

.cursor/.supermemory/config.json holds per-workspace overrides and wins over global config. Add it to .gitignore if it contains an API key.
You can also set these from the agent with supermemory_set_config, or edit the file by hand.

Log Out

Run /supermemory-logout in Cursor. This removes the stored credentials. Your memories in Supermemory are preserved.

Next Steps

GitHub Repository

Source code, issues, and detailed README.