Memo banner
upstash upstash

Memo

Development community

Description

Memo MCP -- save and restore conversation across agents

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Memo MCP

An MCP server that saves and retrieves AI conversation context. Hand off conversations between AI agents seamlessly. Free and no account required.

What it does

When you're working with an AI agent and need to:

  • Switch agents - Claude can't fix your bug? Try Cursor or Copilot with dense context
  • Continue later - Save progress and pick up where you left off
  • Move machines - Start on laptop, continue on desktop

Just say `memo set` and the agent will save structured context (goal, completed tasks, pending tasks, decisions, relevant files). Get a short ID back, use `memo get ` anywhere to restore context.

https://github.com/user-attachments/assets/f96798e1-2f8b-4de3-9431-b7bc52c58dfa

Installation

Claude Code

claude mcp add memo -- npx -y @upstash/memo

OpenCode

Add to your `opencode.json`:

{
  "mcp": {
    "memo": {
      "type": "local",
      "command": ["npx", "-y", "@upstash/memo"]
    }
  }
}

Claude Desktop / Cursor

Add to your MCP config:

{
  "mcpServers": {
    "memo": {
      "command": "npx",
      "args": ["-y", "@upstash/memo"]
    }
  }
}

Usage

Save context

memo set

The AI will summarize the conversation and return an ID like `4tJ630XqhCV5gQelx98pu`.

Restore context

memo get 4tJ630XqhCV5gQelx98pu

The AI will load the previous context and continue where you left off.

What gets saved

When you run `memo set`, the agent stores a structured snapshot, for example:

  • Goal
  • Completed tasks
  • Pending tasks
  • Key decisions
  • Relevant files (paths only) or references

This keeps restored conversations focused and avoids reloading raw chat history.

Security

Your conversation context is stored in Upstash Redis with encryption enabled at rest and in transit. Data expires automatically after 24 hours (configurable via `--ttl-mins`).

If you prefer full control over your data, you can self-host both the API and storage using your