mem0
Facts
- Openness
- Public code, licence not stated
- Licence
- UNKNOWN
- Language
- Python
- Pinned version
94c3fe9(2026-09-25)- Topics checked
- 28 of 33
- Kind of agent
- General framework
What it does notably well
- Concurrency
mem0 batches embedding (OpenAI embed_batch sends chunks of 100 texts) and insertion (one vector_store.insert for all extracted memories) and bounds parallelism at 4 workers for…
- Eval harness
mem0 has a CI-gated mocked pytest suite: 101 test_*.py files under tests/ (86 of the 104 .py files use Mock/mock/patch), run by pytest tests/ in ci.yml.
- External memory
In mem0's default add path (infer=True) facts are extracted in one pass by a single JSON-mode LLM call with no tools, and the pipeline only creates ADD events; it has no UPDATE…
mem0 recall combines semantic, BM25 and entity-boost scores additively as min((semantic + bm25 + entity_boost) / max_possible, 1.0), where max_possible is 1.0 plus 1.0 if BM25…
mem0's BM25 and entity signals only re-score candidates that the semantic search returned: the candidate list is built from semantic_results alone and score_and_rank iterates…
- MCP and auth
mem0 serves MCP from a hand-written stdio JSON-RPC loop in the agent plugins (initialize, ping, tools/list, tools/call) that exposes one read-only tool, search_memories, with a…
See how mem0 does on each topic
The topic-by-topic verdicts, the code lines and a side-by-side comparison are in the app. Sign in with Google; new accounts are approved by hand.
Independent analysis, not affiliated with mem0.