supermemoryai/memorybench, MIT licensed) is the open-source framework we built to fix that: the same benchmark questions, the same pipeline, and the same judges run against every provider, so a comparison actually means something.
We open-sourced it so you don’t have to take our word for anything — you can run it yourself, against your own memory implementation, on the datasets that match your use case.
git.new/membench
Clone it, run it against your own data, or read the source for exactly how each provider is scored.
Benchmark your own memory system
MemoryBench ships a Claude Code skill that automates the entire process of benchmarking a custom memory implementation — yours — against Supermemory, Mem0, and Zep. Point it at your code and it handles discovery, integration, and the run:- Asks a few questions about your setup (provider name, where your memory code lives, which benchmark, which competitors, how many questions)
- Analyzes your memory code to find its init, ingest, and search methods
- Generates a provider adapter and registers it with the framework
- Runs the full benchmark against your chosen competitors
- Reports accuracy, latency, and context-token results side by side
How it works
Every run goes through the same checkpointed pipeline, regardless of provider or benchmark:Supermemory
Chunk-based semantic search
Mem0
LLM-powered memory extraction
Zep
Knowledge graph construction
None of these fit your use case? Build your own benchmark — providers, benchmarks, and judges are all pluggable.
Judging is judge-agnostic too — score a run with GPT-4o, Claude, Gemini, or any model you configure, so results aren’t an artifact of one evaluator’s bias.
Read next
Building a Benchmark
Test on scenarios that actually match your product, not just the built-in datasets.
Adding a Provider
Register your own memory system so it can be scored and compared.
Measuring Results
MemScore, judge scoring, and how to read a report.
Report an issue
Found a bug, or want a provider/benchmark we don’t support yet?