If you want a Zep alternative for coding agents, RepoMemory is built for that one job. It keeps a project's decisions, lessons, guardrails and tasks, and Claude Code, Cursor, Codex and any other MCP client read it before they change code. Zep is a context platform for enterprise agents. It turns chats, documents and business data into a knowledge graph of dated facts. It is the better choice when an agent must know a lot about your users and your business. RepoMemory is the better choice when the memory belongs to a codebase, and every agent working on it should know what was decided, tried and forbidden.
At a glance
| RepoMemory | Zep | |
|---|---|---|
| Built for | Project memory for coding agents | Context for enterprise agents, from business data, documents and conversations |
| What gets stored | Entries an agent records on purpose: a decision, lesson, guardrail, note or task | Episodes (messages, text, JSON); Zep derives entities and dated facts from them |
| Search | Postgres full-text search: any of the query's words, title words count most | Semantic search plus BM25 full-text, with rerankers and graph traversal |
| When something changes | The new entry supersedes the old one, which is retired with a pointer to it | Zep invalidates a fact when new data contradicts it, and keeps the dates |
| Session start | brief: every guardrail, the open tasks and the latest decisions in one call |
graph.get_context returns one context block for a query |
| Tasks | Tasks with claims that run out, so two agents don't start the same one | None |
| MCP | /mcp on the API, with an API key or sign-in |
api.getzep.com/mcp, with sign-in through Google Workspace, or your own identity provider on Enterprise |
| Self-hosting | No, hosted only | Graphiti, the graph engine, is open source (Apache 2.0); Zep itself runs in your cloud on Enterprise |
| What's metered | New entries; recall is free | Ingested data, in credits of up to 350 bytes; retrieval is free |
| Free plan | 300 new entries a month | 10,000 credits a month, 2 projects |
| First paid plan | $9 a month: 3,000 new entries | Flex, $125 a month: 50,000 credits, 5 projects, 5 MCP seats |
| Larger plan | Team, $49 a month: one shared ledger for the team, 20,000 new entries | Flex Plus, $375 a month: 200,000 credits, 10 projects, 15 MCP seats |
Zep's figures are from its pricing page, search docs, Context MCP Server docs and the Graphiti repository, checked on 22 October 2026. RepoMemory's are on our pricing page.
How the two work
Zep takes in raw data as episodes: chat messages through
thread.add_messages, and text or JSON through graph.episode.add, per its
episodes docs. From each episode it
derives entities and facts and links them into a graph. Each fact carries
dates for when it became true and when it stopped, according to its
facts docs. If a user says they now prefer
Puma to Adidas, Zep tries to invalidate the old fact and adds the new one. The
graph engine is Graphiti, which uses an
LLM to extract entities and facts. You don't write memories one by one.
RepoMemory stores only what an agent or a person records, in one of five kinds. A coding agent records a lesson when a change is reverted, a decision when it picks one approach over another, and a guardrail for a rule nobody should break. Before its next change, it recalls with words about that change:
curl -s https://api.repomemory.dev/v1/recall \
-H "X-API-Key: $REPOMEMORY_KEY" -H "Content-Type: application/json" \
-d '{"project":"acme/shop","query":"add a captcha to checkout"}'
{"project":"acme/shop","entries":[{"id":"KNOW-1","kind":"lesson",
"title":"Captcha on checkout cut completed orders 5%",
"body":"Shipped a captcha on the checkout page in March and reverted it after two weeks: completed orders fell 5%. Bots only spike on release days.",
"tags":["checkout","captcha"],"status":"active","superseded_by":null,
"reason":null,"claimed_by":null,"created_at":"2026-10-20T06:00:00.000000+00:00"}],
"credits":0}
Agents use the same operations as MCP tools: brief, recall,
record_entry, claim_task and retire_entry. A session starts with
brief, which hands the agent every guardrail in full rather than leaving
rules to a search. The docs show how to connect each client.
Where Zep is better
- Search that understands meaning. RepoMemory's recall matches words. A query has to share words with the entry ("captcha checkout"), not describe the symptom ("why did orders drop"). Zep combines semantic search with BM25 keyword search, and can rerank or walk the graph from a known node.
- No writing by hand. Zep derives facts from whatever you send it. With
RepoMemory, an agent has to call
record_entry. In practice, that means a few lines inCLAUDE.mdorAGENTS.mdtelling it when to. - History of facts. Zep keeps when each fact was true and when it stopped, so an agent can ask what held at a point in time.
- Any kind of data. Zep ingests CRM records, tickets, documents and chats. RepoMemory holds short written entries about one project.
- Open source and your own cloud. Graphiti is Apache 2.0 and runs on Neo4j, FalkorDB or Amazon Neptune, and its repository includes an MCP server. Zep's Enterprise plan deploys inside your own cloud. RepoMemory is a hosted service only.
- Volume and compliance. Zep's free plan allows 10,000 credits a month, against RepoMemory's 300 new entries. Its Enterprise plan offers SOC 2 Type II, a HIPAA BAA and audit logs, and lets MCP users sign in through your own identity provider.
Where RepoMemory is better
- Made for a codebase. Guardrails, decisions, lessons and tasks are what a coding agent needs before it changes code. Zep is shaped around users, threads and business entities.
- You decide what holds now. Recording a new decision with
supersedesretires the one it replaces. Recall leaves retired entries out unless you ask for them. Nothing is retired because a model judged two facts to clash, and nothing is "remembered" that nobody wrote down. - Predictable recall. There's no LLM or embedding model in the loop, so the same query returns the same entries.
- Guardrails are never missed.
briefreturns every active guardrail at the start of a session, whatever the agent is about to change. - Tasks for parallel agents.
claim_tasktakes the oldest open task, or a named one, and returns aclaim_token. Anyone without the token gets409 already_claimed. A claim runs out after two hours unless renewed, so a crashed agent never holds a task for ever. - An API key is enough. Any MCP client connects with an
X-API-Keyheader. Zep's Context MCP Server signs users in through Google Workspace, or through your own identity provider on Enterprise. - Built for shared, untrusted notes. Every result tells the agent the entries are notes, not instructions, and flags one worded like a prompt injection. Each entry records who wrote it. You can browse, edit, delete, export and import the ledger on the dashboard's Ledger page.
- Price for a small team. One shared ledger for the whole team costs $49 a month. Zep's first paid plan is $125 a month. A long RepoMemory entry is still one entry; Zep charges a credit per 350 bytes.
Choose Zep if
- your agent serves end users and should remember each of them
- you need context from business systems, documents and chats in one graph
- your queries are in natural language and won't share words with what's stored
- you need facts dated over time, or want to run Graphiti yourself
- you need SOC 2 Type II, a HIPAA BAA or a deployment in your own cloud
Choose RepoMemory if
- the memory belongs to a codebase and is shared by several agents and people
- you want reversed decisions retired on purpose, not by a model's judgement
- you run agents in parallel and need them to claim tasks
- you want to connect any MCP client with an API key
- you want to see, fix and export what your agents remember
If you're also weighing Mem0, see RepoMemory vs Mem0.
Try it
The free plan needs no card. Sign in, create a key, and add the MCP server to Claude Code:
claude mcp add --transport http repomemory https://api.repomemory.dev/mcp \
--header "X-API-Key: $REPOMEMORY_KEY"
Cursor, VS Code and Claude.ai use the same URL. See the docs for each, and pricing for the plans.