Memo MCP -- save and restore conversation across agents
JavaScript
109
4 commits
updated Jan 28, 2026
An MCP server that saves and retrieves AI conversation context. Hand off conversations between AI agents seamlessly. Free and no account required.
When you're working with an AI agent and need to:
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 <id> anywhere to restore context.
https://github.com/user-attachments/assets/f96798e1-2f8b-4de3-9431-b7bc52c58dfa
claude mcp add memo -- npx -y @upstash/memo
Add to your opencode.json:
{
"mcp": {
"memo": {
"type": "local",
"command": ["npx", "-y", "@upstash/memo"]
}
}
}
Add to your MCP config:
{
"mcpServers": {
"memo": {
"command": "npx",
"args": ["-y", "@upstash/memo"]
}
}
}
memo set
The AI will summarize the conversation and return an ID like 4tJ630XqhCV5gQelx98pu.
memo get 4tJ630XqhCV5gQelx98pu
The AI will load the previous context and continue where you left off.
When you run memo set, the agent stores a structured snapshot, for example:
This keeps restored conversations focused and avoids reloading raw chat history.
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 own infrastructure. See the Self-hosting section below.
The repo includes both the MCP server and the API. To self-host:
Create a .env file with your Upstash Redis credentials:
UPSTASH_REDIS_REST_URL=your-redis-url
UPSTASH_REDIS_REST_TOKEN=your-redis-token
npx vercel dev
vercel
Set the same environment variables in your Vercel project settings.
The MCP server uses https://memo-upstash.vercel.app by default. To use your own API, modify index.ts:
const GET_URL = "https://your-api.vercel.app/api/get";
const SET_URL = "https://your-api.vercel.app/api/set";
--ttl-minsSet expiration time in minutes. Default is 1440 (24 hours).
{
"mcpServers": {
"memo": {
"command": "npx",
"args": ["-y", "@upstash/memo", "--ttl-mins", "4320"]
}
}
}
MIT
Memo MCP -- save and restore conversation across agents
JavaScript
109
4 commits
updated Jan 28, 2026
An MCP server that saves and retrieves AI conversation context. Hand off conversations between AI agents seamlessly. Free and no account required.
When you're working with an AI agent and need to:
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 <id> anywhere to restore context.
https://github.com/user-attachments/assets/f96798e1-2f8b-4de3-9431-b7bc52c58dfa
claude mcp add memo -- npx -y @upstash/memo
Add to your opencode.json:
{
"mcp": {
"memo": {
"type": "local",
"command": ["npx", "-y", "@upstash/memo"]
}
}
}
Add to your MCP config:
{
"mcpServers": {
"memo": {
"command": "npx",
"args": ["-y", "@upstash/memo"]
}
}
}
memo set
The AI will summarize the conversation and return an ID like 4tJ630XqhCV5gQelx98pu.
memo get 4tJ630XqhCV5gQelx98pu
The AI will load the previous context and continue where you left off.
When you run memo set, the agent stores a structured snapshot, for example:
This keeps restored conversations focused and avoids reloading raw chat history.
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 own infrastructure. See the Self-hosting section below.
The repo includes both the MCP server and the API. To self-host:
Create a .env file with your Upstash Redis credentials:
UPSTASH_REDIS_REST_URL=your-redis-url
UPSTASH_REDIS_REST_TOKEN=your-redis-token
npx vercel dev
vercel
Set the same environment variables in your Vercel project settings.
The MCP server uses https://memo-upstash.vercel.app by default. To use your own API, modify index.ts:
const GET_URL = "https://your-api.vercel.app/api/get";
const SET_URL = "https://your-api.vercel.app/api/set";
--ttl-minsSet expiration time in minutes. Default is 1440 (24 hours).
{
"mcpServers": {
"memo": {
"command": "npx",
"args": ["-y", "@upstash/memo", "--ttl-mins", "4320"]
}
}
}
MIT