The Memory MCP server is Anthropic’s reference implementation of persistent AI memory. It exposes a simple knowledge graph where Claude stores entities (people, projects, tools), relations between them, and observations about each one. The data persists in a local JSON file across conversations, so anything Claude remembers survives every restart.
This is the cleanest way to give a model a sense of continuity. By default Claude has no memory of past chats. Adding the Memory server changes that without requiring a full RAG pipeline or vector database.
Why use it
The friction that makes AI clients feel disposable is the lack of recall. Every new conversation starts at zero. You retype your context, your stack, your preferences. The Memory server lets Claude remember “this user prefers Postgres over MongoDB” or “my team uses Linear, not Jira” once and then act on it forever.
Pair it with the GitHub MCP server for a dev workflow where Claude remembers your repo conventions. Pair it with ContextBolt and you get two layers: explicit facts you’ve told Claude (Memory), plus everything you’ve ever bookmarked (ContextBolt).
What it actually does
Three primitives: create entities, add relations between them, and attach observations to them. Claude calls these tools naturally during a conversation. You don’t have to teach it the API.
Practical patterns:
- “Remember that I’m building a Chrome extension called ContextBolt with a $6/month Pro tier.” Claude creates an entity for the project and observations for the pricing.
- “What do you remember about my work?” Claude queries the graph and surfaces relevant entities.
- “Forget everything I told you about Project X.” Claude removes the entity and its relations.
Gotchas
The graph is local-first by design. If you want it shared across machines or accessible to Claude Code on a server, you’ll need to sync the JSON file yourself (Dropbox, Syncthing, a Git repo). There’s no built-in sync.
Memory is plain text. Don’t store secrets in it. If you tell Claude to remember an API key, that key sits in the JSON file in cleartext. Use a password manager instead.
The schema is intentionally minimal. If you want richer features (vector search, embeddings, semantic similarity), look at mem0 or build on top of Memory’s primitives.