Zep
A memory that keeps facts on a timeline: when each became true, and when it stopped.
by Zep · Built this? Edit this page on GitHub
In short
Zep has an AI read each chat message or record and turn it into a map: people and things, linked by short facts like “Kendra loves Adidas shoes”. Every fact carries dates: when it became true, when it stopped, and when Zep learned each. When Kendra later says she prefers Puma, the old fact is marked as ended, not deleted, so you can ask what's true now or what was true back then. Graphiti is the open-source engine that builds the map; Zep is the managed cloud built on it.
Who it’s for
Developers building agents and apps, from solo builders on Graphiti to enterprises on Zep's cloud with sign-in, access rules and audit logs. Through Zep's Memory MCP Server, people can also reach their memory from Claude, ChatGPT or Cursor.
What it remembers
People, things and the facts between them, each with dates, plus the original messages and records they came from, a running summary of each person and thing, and (on higher plans) patterns seen across many facts.
- Memory lives
- Zep's cloud (or your own cloud), or your graph database with Graphiti
- API keys
- A Zep key (cloud), or an AI model key plus a graph database (Graphiti)
- Works with
- Python, TypeScript & Go SDKs, LangGraph, CrewAI, Claude & ChatGPT (MCP), Cursor, Graphiti MCP server
- License
- Partly open sourceApache-2.0 (Graphiti)
- Price
- Graphiti free; Zep free tier, then from $125/mo
Under the hood
- Who writes memories
- A separate AI reads each message or record and pulls out the people, things and facts. The AI you talk to doesn't write them, though it can add memory through MCP tools.
- Where they're kept
- A graph: people and things joined by dated facts, plus the original messages. Graphiti runs on Neo4j, FalkorDB or Amazon Neptune; Zep's cloud uses its own graph database.
- How they're found
- By meaning, by keywords, and by walking the links around a person or thing, combined into one ranked list. On the cloud, one call builds a ready-to-use context block from the last few messages.
- Extra AI calls
- Yes: several AI calls per message (find things, find facts, date them, match them to the map, update summaries), plus embeddings. Paid in credits on the cloud, or on your own model key.
How it works
- 1Messages and recordsYour app sends chats, documents or business data.
- 2Pull out factsAn AI finds the people, things and facts, and dates them.
- 3Check the mapMatch them to what's known: merge repeats, end contradicted facts.
- 4Update summariesEach person and thing's summary is refreshed.
- 5Hand them backNext turn, the relevant facts, with their dates, go to the AI.
What stands out
- Facts on a timeline: each one knows when it became true, when it stopped, and when Zep found out, so an agent can answer “what's true now?” and “what was true in March?”.
- Contradictions end old facts instead of erasing them, with every fact traceable to the message it came from.
- Graphiti, the open-source engine, is one of the most popular projects in this space, with a choice of graph databases and AI providers and an MCP server.
What it doesn’t do
- Nothing fades with time, and recalling a fact doesn't make it stronger. Ended facts stay on the map for good unless you delete them.
- Nothing comes back on its own: your app asks for context each turn, and there are no reminders.
- The pattern-finding Observations and custom domain instructions are on the cloud's Flex Plus plan and up.
- It's memory about users, customers and projects, not the AI's own sense of self.
Measured against human memory
4 built (4 in depth), 3 partly, 4 not of the Field Guide’s 11 mechanisms
Encoding
Salience
Decides what's worth keeping, and how much, as a memory is written.
An AI decides which people, things and facts are worth pulling out, steered by the types you define and (Flex Plus and up) your domain instructions. There's no importance score. source
Emotion
Gives memories written with feeling more weight.
Feelings can be saved as facts (“Sam feels he lacks motivation”), but they aren't given more weight. source
Storage
Forgetting
Lets unused memories fade over time on its own.
Nothing fades on its own. Facts stay until they're contradicted or you delete them.
Interference
When a new memory closely matches an old one, notices and lets the newer one win.
Each new fact is checked against similar old ones: repeats merge, and a contradicted fact is marked as ended. “Newer” means newer in real life, by the fact's dates, not just the last thing said. source
Retrieval
Retrieval
Remembering something makes that memory stronger.
Being recalled doesn't change a fact. An optional search order ranks things by how often they've been mentioned, which is close but not the same. source
Association
Links memories, so recalling one brings its neighbours.
Everything lives on a map of linked people and things. Search can start from one of them and bring up its neighbours first. source
Prospective
Brings a memory back at the right time without being asked.
Your app fetches relevant context every turn, but nothing comes back at a set time or on its own. source
Transformation
Consolidation
Reworks memories between sessions: strengthening, merging, reorganising.
Summaries of each person and thing are rewritten as new facts arrive, and Graphiti can regroup related things into “communities” when you ask. Zep doesn't document a background pass that reworks the map between sessions. source
Reconsolidation
Corrects a memory when it's contradicted, and keeps what it used to say.
A contradicted fact is marked as ended, not deleted. Its dates show what used to be true, and you can search the past. source
Gist
Turns many specific moments into general knowledge.
Observations turn patterns seen across many facts (habits, commitments, preferences) into lasting memories, and retire them when they're outdated. Open-source Graphiti keeps running summaries instead. source
Schemas
Forms beliefs about people and projects, and weighs new facts against them.
Each user gets a running summary, and you can define kinds of people and things up front. New facts are checked against old facts, not against the summary. source
Not every system is trying to be a human memory, so a hollow dot isn’t a flaw. It just says what the system doesn’t do. What the mechanisms are.
Zep’s makers haven’t shared what they’re building next, so only today shows here. Makers can add their roadmap the same way they correct an entry.
Compare Zep with the others, side by sideQuestions
- Who is Zep for?
Developers building agents and apps, from solo builders on Graphiti to enterprises on Zep's cloud with sign-in, access rules and audit logs. Through Zep's Memory MCP Server, people can also reach their memory from Claude, ChatGPT or Cursor.
- Where does Zep keep its memories?
Zep's cloud (or your own cloud), or your graph database with Graphiti. A graph: people and things joined by dated facts, plus the original messages. Graphiti runs on Neo4j, FalkorDB or Amazon Neptune; Zep's cloud uses its own graph database.
- Does Zep forget?
Forgetting: not built. Nothing fades on its own. Facts stay until they're contradicted or you delete them.
- Does Zep correct a memory when it turns out to be wrong?
Reconsolidation: built in depth. A contradicted fact is marked as ended, not deleted. Its dates show what used to be true, and you can search the past. source
- Is Zep open source?
Partly open source. License: Apache-2.0 (Graphiti). Code: github.com/getzep/graphiti, github.com/getzep/zep.
- Does Zep need an API key?
API keys: A Zep key (cloud), or an AI model key plus a graph database (Graphiti).
- How much does Zep cost?
Price: Graphiti free; Zep free tier, then from $125/mo.