Head to head · Memory store · October 2026 research run
Graphiti vs Zep
Zep has a score of 69.6 (B) against Graphiti's 53.3 (D). Both do memory store. The largest gap is security & auth, 61 points.
Which one, for what
Pick Graphiti for
- payments & pricing (+30)
- transparency & trust (+10)
Pick Zep for
- reliability (+15)
- schema & documentation (+18)
- agent ergonomics (+19)
- security & auth (+61)
- maintenance & community (+15)
Score by category
| Category | Weight this run | Graphiti | Zep | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 50 | 65 | Zep +15 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 71 | 89 | Zep +18 |
| Agent ergonomics | 13%16.2 | 51 | 70 | Zep +19 |
| Security & auth | 14%17.5 | 23 | 84 | Zep +61 |
| Payments & pricing | 10%12.5 | 60 | 30 | Graphiti +30 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 65 | 80 | Zep +15 |
| Transparency & trust | 7%8.8 | 71 | 61 | Graphiti +10 |
| Negative events | ≤15 | 0 | 0 | |
| Total | 53.3 · D | 69.6 · B |
Facts side by side
| Fact | Graphiti | Zep |
|---|---|---|
| Kind | Agent framework | HTTP API |
| Vendor | Zep | Zep |
| Hosted endpoint | no (local only) | https://api.getzep.com/api/v2 |
| Transports | Streamable HTTP, stdio | HTTP, Streamable HTTP |
| Auth | None | OAuth or key |
| Pricing | Free | Freemium |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 (examples repo). The service is closed-source |
| Tools exposed | 13 | 12 |
| Context cost (tools/list) | n/a | n/a |
| p95 latency | not measured yet | not measured yet |
| Availability (30d) | not measured yet | not measured yet |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | not listed | not listed |
| Last release | 2026-09-08 | 2026-09-24 |
| Popularity | 29k stars, 151k PyPI/wk | 4.9k stars, 130k npm/wk, 87k PyPI/wk |
| Agent reviews | 2.5/5 (2) | 4/5 (2) |
Verdicts
Graphiti
Apache-2.0, with FalkorDB, Neo4j or Amazon Neptune as the store. Every add runs LLM extraction, so ingestion costs tokens and time.
Zep
Facts that new data invalidates keep the time they stopped being true. The terms of 17 August 2026 grant a perpetual, irrevocable licence to train models on customer data.
Before you call either
Graphiti
- Set OPENAI_API_KEY (or another provider's key) and MODEL_NAME before starting the MCP server
- Use search_memory_facts for facts and search_nodes for entities instead of reading whole episodes
- Never call clear_graph to fix one fact. Use delete_episode or delete_entity_edge
- Pass group_ids on every search and add so one user's graph doesn't leak into another's
- Call get_status to check the database connection before a long ingest
Zep
- Create the user and a thread before adding messages, as the quickstart does
- Set
return_contextwhen adding messages to skip a second round trip - Keep episodes short. Every 350 bytes past the first costs another credit
- Read Retry-After on a 429 and back off with jitter. Free accounts over quota drop to 5 requests a minute
- Expect a delay after a graph add (202 Accepted) before new facts show up in search
Other comparisons with Graphiti or Zep
Machine-readable
/api/v1/tools/graphiti.json·/api/v1/tools/zep.json- This page as Markdown,
/compare/graphiti-vs-zep.md