# memento

A memory layer that lives in a local SQLite file and speaks MCP, so assistants stop asking you to re-explain your preferences and past decisions.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 24
- Author: veerps57
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/veerps57/memento
- Updated: 2026-05-17
- HTML: https://affpapa.org/en/nevibecode/mcp/memento

## What it does

Memento runs an MCP server over a SQLite database on your machine. Any client that speaks MCP can write structured notes there and read them back: preferences, project conventions, decisions you already made. By default it makes no outbound network calls, so the store stays local. You need Node.js 22.11 or newer, since the server launches through `npx`.

The setup starts with `npx @psraghuveer/memento init`. On a TTY it creates the database in the XDG location, applies migrations and asks four single-keystroke questions: your preferred name, whether to copy the bundled skill into `~/.claude/skills/`, whether to seed a starter pack, and whether to write the persona snippet into custom-instructions files of clients it detects. That last question carries weight. The MCP spec treats the `instructions` field as optional, and a skill fires only on matching intent, so the persona block is what reliably reaches the assistant's system prompt. UI-only clients get paste-in text instead. Add `--no-prompt` to skip the interactive part in CI.

Starter packs fill an otherwise empty store in one command, for instance `memento pack install engineering-simplicity`. Four ship with the package: `engineering-simplicity`, `pragmatic-programmer`, `twelve-factor-app` and `google-sre`. You can also build a pack from memories you already have and hand it over as a file or an HTTPS link.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `MEMENTO_DB` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env MEMENTO_DB=<MEMENTO_DB> --transport stdio memento -- npx -y @psraghuveer/memento
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add memento --env MEMENTO_DB=<MEMENTO_DB> -- npx -y @psraghuveer/memento
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "memento": {
            "command": "npx",
            "args": [
                "-y",
                "@psraghuveer/memento"
            ],
            "env": {
                "MEMENTO_DB": "<MEMENTO_DB>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "memento": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@psraghuveer/memento"
            ],
            "env": {
                "MEMENTO_DB": "<MEMENTO_DB>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e MEMENTO_DB=<MEMENTO_DB> memento npx -y @psraghuveer/memento
```
Replace <…> with your own values

## When to use it
- keep preferences and project conventions in one store instead of scattered rule files
- bring last week's decisions back into a fresh chat without re-explaining
- seed an empty memory store with a ready-made engineering pack
- confirm the assistant really calls the memory server
- share your own memory collection as a file or link

## Example prompts
- Remember that I use pnpm instead of npm for Node projects.
- Which package manager do I prefer?
- What did we settle on for the dashboard revamp last week?

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

## Other versions with the same name
- [Memento · scrypster](https://affpapa.org/en/nevibecode/mcp/scrypster-memento.md) — ★ 9

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
