
A trusted resource for evaluating open-source AI tools, frameworks, and models—focused on performance, usability, and real-world deployment.
Mem0 offers managed infrastructure, Apache-2.0 open-source deployment, graph memory, and hosted MCP support for AI agent memory. Teams may still evaluate alternatives for graph-led retrieval, temporal semantics, ontology control, or different operating requirements and pricing at scale. In this 2026 comparison, we at Open Source AI Review assess architectural fit, deployment scope, integrations, and pricing-not measured performance rankings. Our use-case-based recommendations start with Cognee for graph-oriented requirements, followed by Zep/Graphiti, Letta, LangMem, Supermemory, LlamaIndex memory, and Redis Agent Memory. We publish independent technical comparisons; we do not sell an agent-memory product.
Agent memory spans session context, extracted persistent facts, and structured relationships. LlamaIndex illustrates the first two with a token-budgeted message queue and long-term memory blocks, including fact extraction. Mem0 provides managed infrastructure and Apache-2.0 open-source code; its graph memory extracts entities, relationships, and timestamps, storing embeddings in a vector database and nodes and edges in a graph backend. Its search ordering follows vector similarity and any configured reranker. Graph context appears separately in a relations array: it does not automatically reorder vector hits. Graph storage and graph-led retrieval are therefore distinct evaluation criteria.
Mem0’s managed plans include free Hobby with 10,000 adds and 1,000 retrievals monthly; Starter at $19/month with 50,000 adds and 5,000 retrievals; and Pro at $249/month with 500,000 adds and 50,000 retrievals. Managed graph memory is listed under Pro and Enterprise, not a restriction on open-source graph availability. Consider alternatives when you need different retrieval behavior, temporal handling, deployment control, or workload economics. Because Mem0 supports self-hosting, compare operational requirements and data control rather than assuming migration is necessary. Architectural differences alone do not establish better accuracy or lower latency.
Start with the memory operations your agent must perform, then verify the implementation behind each product label. We apply the same five criteria to every option, with Cognee as our first alternative to evaluate-not as evidence that every capability is included in every deployment. Its repository documents graph, vector, and code retrieval, local deployment, and managed cloud access. Those capabilities provide concrete evaluation targets, but production support, licensing, authorization, and migration behavior still need separate checks against your intended configuration before you commit.
Use these criteria to build one acceptance test suite and run it against every shortlisted option. For Cognee, include graph/vector/code retrieval, custom-model behavior, interface availability, and tenant-boundary checks in the deployment you actually plan to operate. Repeat the equivalent checks for each alternative rather than granting credit for a framework’s surrounding ecosystem. Keep unverified capabilities explicitly unverified, and separate documented availability from measured behavior. This produces a decision grounded in your application’s retrieval requirements, migration risk, and operating costs instead of an incompatible cross-vendor accuracy ranking.
Best for: self-hosted graph-based memory and custom ontologies. We rank Cognee first for this specific fit, not as a universally superior memory layer. Its architecture connects text entities, relationships, and searchable chunks, while representing code through symbol and dependency graphs. That makes it worth evaluating when your application needs explicit domain models and selectable graph, vector, or code context. The repository is Apache-2.0 licensed and supports local deployment, but teams should check component-level licensing, model configuration, and Enterprise boundaries before committing to a production architecture.
remember, recall, forget, and improve operations expose memory ingestion, retrieval, removal, and improvement.These documented implementation choices explain Cognee’s fit; they are not claims of capabilities exclusive to Cognee.
DataPoint subclasses let teams define custom graph models instead of accepting only a predefined entity structure.Mem0Source adapter for importing exported Mem0 records.Self-hosting also requires component-level review. The repository labels its Postgres graph-store integration a demo; the production-ready adapter is commercially licensed. The Enterprise runtime is proprietary, and bi-temporal memory and conflict resolution are listed under Enterprise. Do not assume the Apache-2.0 repository provides every commercial capability or a free production-ready single-Postgres deployment.
cognee.remember using Mem0Source. The adapter accepts lists or containers with results, memories, or items keys. Keep Mem0 running in parallel while validating retrieval.Cognee Standard pricing is: "$1.00 per 1M tokens processed, plus $5 per additional workspace." Additional workspace billing is monthly. The free offer includes one workspace and 1M tokens; the token allowance is not stated here as recurring monthly. See Cognee pricing for plan details and Enterprise boundaries.
Cognee earns this first-place recommendation for its documented graph modeling, retrieval choices, and migration support. That recommendation is fit-based: its own benchmark disclosures include differing settings and reproduction limitations, so those results do not establish universal performance superiority over Mem0.
Best for: temporal knowledge graphs. Choose Zep or Graphiti when your agent needs to distinguish current facts from historical ones and trace relationships back to their source episodes. Graphiti is the self-hostable, Apache-2.0-licensed library; Zep is the managed platform built on it. They are not interchangeable deployment options. Graphiti gives you library code and reference servers to build around, while Zep provides a managed service. Evaluate this option when validity windows, retained history, and provenance matter to your retrieval requirements, rather than treating memory as a collection of independently searchable facts.
Graphiti’s reference MCP and REST servers are not production deployments: they omit authentication, authorization, and prompt-injection protection. Production self-hosting requires an application service that supplies those protections and tenant isolation. Do not treat the reference interfaces as a secured memory service.
Zep’s monthly plans are:
| Plan | Monthly price | Included monthly credits |
|---|---|---|
| Free | $0 | 10,000 |
| Flex | $125 | 50,000 |
| Flex Plus | $375 | 200,000 |
| Enterprise | Custom | Custom |
Episodes consume one credit per 350 bytes or partial increment. Retrieval, storage, threads, and users are unmetered. For cost comparisons, model the volume and size of ingested episodes rather than assuming retrieval count is the billing driver.
Self-hosted Graphiti still requires application, security, model, and infrastructure provisioning. Choose Graphiti when you want to operate that stack yourself; evaluate managed Zep when you prefer a managed deployment. Compare total operating requirements against Zep’s episode-based meter-neither deployment model is universally cheaper.
Best for: persistent agents with inspectable filesystem memory. Letta suits teams that want memory attached to a persistent agent rather than treated as a standalone fact store. Its current architecture uses MemFS, a git-backed filesystem that developers can inspect and edit. The repository directs development to letta-ai/letta-code and documents an App Server for local or self-hosted agents. Choosing Letta therefore means adopting a stateful-agent runtime, not assuming a drop-in replacement for Mem0’s memory API. Evaluate that runtime boundary before planning your integration or migration.
The free personal offering permits three stateful agents with BYOK. Personal Pro costs $20/month, while Teams Pro costs $20/seat/month.
The API Plan costs $20/month, plus:
These are not unlimited-inference subscriptions; optional memory review also adds model-token consumption.
Letta is a fit when persistent agent execution and editable filesystem memory are requirements. Treat it as a runtime choice, and verify MCP authentication compatibility and usage costs before treating it as a Mem0 replacement.
Best for: LangGraph applications requiring programmable extraction and prompt optimization. LangMem is an MIT-licensed, self-hostable library of memory utilities, rather than a standalone managed memory service. Its core transformations operate on memory state without depending on a particular database; its higher-level stateful integrations use LangGraph’s long-term store. Consider it when you want your application to control memory extraction, updates, and agent-facing tools. The trade-off is operational responsibility: adopting the library does not by itself provide durable storage, and your deployment must supply the persistence layer.
InMemoryStore is ephemeral; production persistence requires a database-backed store such as AsyncPostgresStore. Thread checkpointers serve a different role: saving thread state is not the same as maintaining cross-thread long-term memory.LangMem is MIT-licensed library code. Budget for your selected models, storage, and hosting rather than treating the license as zero operating cost. The cited documentation does not establish a standalone memory subscription.
LangMem is a fit when programmable memory inside LangGraph is the priority. Native knowledge-graph support is not established by the cited documentation, and dedicated first-party memory MCP support remains unverified; treat MCP as a custom integration, not a confirmed built-in capability.
Best for: managed memory across coding tools and heterogeneous sources. Supermemory is worth evaluating when your memory inputs extend beyond conversations to files and connected sources, and you want access through compatible tools. It converts those inputs into atomic facts linked to entities and time, with profiles, search, and filesystem-style access. For a Mem0 replacement, we would evaluate its ingestion and access interfaces against your actual sources and clients. Keep deployment choices separate: the documented local binary is not the same offering as the managed service or managed self-hosted deployments.
Managed plans use credit balances rather than fixed monthly token quotas:
| Plan | Price | Included credits |
|---|---|---|
| Free | Free | $5 |
| Pro | $19/month | $20 |
| Max | $100/month | $130 |
| Scale | $399/month | $600 |
| Enterprise | Custom | Custom |
Managed self-hosted deployments are listed for Scale and Enterprise, separately from the local binary. The product page describes that binary as open source, but its exact license has not been independently verified here; local/cloud feature parity also remains unverified.
Usage rates are:
SM tokens are deduplicated unique tokens. Estimate memory ingestion, queries, and operations separately when assessing costs.
We would shortlist Supermemory for heterogeneous-source ingestion and compatible-tool access, while validating deployment-specific interfaces, licensing, and usage costs before migration.
Best for: existing LlamaIndex applications requiring customizable memory blocks. LlamaIndex’s memory abstraction combines a token-budgeted short-term message queue with long-term memory blocks that receive flushed messages. For teams already building with LlamaIndex, composing these components inside the application can meet memory requirements without introducing a separately managed memory service. The relevant question is whether your agent needs retained facts and retrieval of earlier messages, rather than a different memory architecture. Evaluate the documented blocks against those requirements before treating them as a replacement for Mem0.
LlamaIndex core is MIT-licensed and runs in your application. Budget for the open-source framework plus your selected model, storage, and hosting costs. LlamaCloud document-processing prices are not memory-library prices and should not be used to estimate this configuration.
Our assessment: evaluate these blocks when you want application-level memory composition within LlamaIndex. The cited built-in memory documentation does not establish native temporal graph memory or a dedicated memory MCP server; verify those requirements separately before choosing it.
Best for: Redis’s managed session-to-long-term memory path. Redis Agent Memory combines session context with extracted facts retained for longer-term use. Sessions have configurable expiry, while background processing extracts and promotes facts into text and vector representations. The supported production offering is managed Redis Agent Memory within Iris-not the original research server preserved in the repository’s V0 directory. It is worth evaluating when you want this memory lifecycle through REST, MCP, or Python interfaces. The supplied documentation does not establish native knowledge-graph traversal.
Keep deployment and licensing separate. The V0 Agent Memory Server is an Apache-2.0 research artifact that is no longer actively maintained; it is not the supported production distribution or an equivalent self-hosted version of the managed service. Redis 8 database code separately offers RSALv2, SSPLv1, or AGPLv3 licensing choices. Do not label the entire stack Apache-2.0.
Current standalone managed Agent Memory pricing and billing units are unverified. Confirm those details before estimating production costs; generic Redis database prices are not a substitute for service-specific pricing.
Our assessment: Redis belongs on the shortlist for a managed session-to-long-term memory workflow. Do not treat the unmaintained V0 server as its production self-hosting path, or assume graph traversal support without further verification.
We publish independent technical comparisons for developers and AI engineers; we do not build or sell agent-memory software. Our SDK coverage examines API surface, asynchronous support, storage backends, framework integrations, and migration risk. Treat this guide’s fit recommendations as editorial judgments, not reproduced performance measurements. The evidence supplied here includes no independently reproduced cross-vendor benchmark or matched-workload cost calculation. Before choosing a replacement, separate documented capabilities from recommendations and unresolved questions, then evaluate candidates against your own retrieval workload, deployment constraints, and authorization requirements.
user_id metadata does not automatically become enforced tenant isolation after migration. Cognee’s migration guide directs teams requiring hard isolation to enable backend access control and import users into separate datasets.Mem0 offers managed infrastructure, an Apache-2.0 implementation, optional graph memory, and an official hosted MCP service. The alternatives below differ in what they provide: a memory library, a graph-backed service, or a persistent-agent runtime. We rank Cognee as the #1 alternative for connected knowledge, but deployment and integration requirements still matter. Read each license against the named component, not the entire vendor stack. Likewise, an MCP endpoint may expose memory operations, a reference implementation, or agent delegation; those interfaces are not interchangeable. Pricing meters also measure different workloads.
| Option and best fit | Memory architecture | Open-source component and license | Supported self-hosting scope | Graph support | Actual MCP interface | Pricing meter |
|---|---|---|---|---|---|---|
| Mem0, managed or self-hosted memory middleware | Vector-backed memory with optional entity/relationship graph | Mem0 open source: Apache-2.0; distinct from managed Platform | Open-source implementation; operate its dependencies yourself | Available in open source; managed graph memory listed under Pro and Enterprise | Official cloud-hosted MCP; older MCP repository archived | Monthly add/retrieval quotas: free Hobby; Starter $19/month; Pro $249/month; Enterprise custom |
| Cognee, #1 alternative for connected knowledge and ontology control | Connected entities, relationships, searchable chunks, and code symbol/dependency graphs | Core repository: Apache-2.0; commercial exceptions include production Postgres graph integration and enterprise runtime | Local deployment supported; managed cloud available; production Postgres graph integration is commercial, not the repository demo | Graph, vector, and code-context retrieval; enterprise temporal features are not universal open-source features | Repository provides an MCP server | $1.00 per 1M tokens processed, plus $5 per additional workspace. |
| Zep/Graphiti, temporal memory | Episode-grounded temporal graph with semantic, keyword, and graph retrieval | Graphiti library: Apache-2.0; distinct from managed Zep | Graphiti library and reference services; production deployment needs security and tenant isolation. Zep offers Enterprise BYOC | Validity windows, retained history, source provenance, and prescribed entity/edge types | Graphiti reference MCP server; lacks production authentication, authorization, and prompt-injection protection | Zep credits: one per 350 episode bytes or partial increment; Free 10,000/month; Flex $125/month; retrieval and storage unmetered |
| Letta, persistent, inspectable agents | Stateful-agent runtime rather than drop-in memory middleware | Component license not verified in the supplied sources | Local/self-hosted App Server; distinguish this from hosted services | Native knowledge-graph support not established here | Hosted MCP creates and messages persistent agents; bearer headers required; OAuth-only clients unsupported | API Plan: $20/month plus $0.10/active agent/month, $0.00015/tool-execution second, and LLM usage |
| LangMem, memory inside LangGraph applications | Extraction, consolidation, memory tools, and prompt optimization; configured persistence | LangMem library: MIT | Application-hosted code; configure storage, including LangGraph's long-term store | Native knowledge-graph engine not established | Dedicated first-party memory MCP not verified; custom integration required | Chosen model, storage, and hosting costs; no standalone memory subscription |
| Supermemory, managed memory across sources and tools | Atomic facts linked to entities and time, profiles, search, and filesystem-style access | Local binary described as open source; exact license unverified | Documented local binary; managed self-hosted deployments separately listed for Scale and Enterprise | Embedded graph engine in local binary; linked facts in product architecture | OAuth-based MCP service | Monthly credits plus operation-specific rates: plain text $0.005/1,000 SM tokens; rich content $0.010/1,000; search/traversal $0.005/1,000 queries; operations $0.10/1,000 |
| LlamaIndex memory, application-level memory blocks | Framework memory blocks inside the developer's application | LlamaIndex core: MIT | Application-hosted framework; operate chosen dependencies | Native temporal graph memory not established by memory-block documentation | Dedicated memory MCP server not established | Chosen model, storage, and hosting costs; not LlamaCloud document-processing pricing |
| Redis Agent Memory, managed session and long-term memory | TTL-controlled session memory plus background extraction of long-term text/vector facts | V0 research server: Apache-2.0, unmaintained. Redis database licensing is separate; Redis 8 offers RSALv2, SSPLv1, or AGPLv3 | Supported production path is managed within Iris; self-hostable V0 is not an equivalent supported distribution | Native knowledge-graph traversal not established | Official product lists MCP alongside REST and Python | Standalone Agent Memory service price unverified; generic Redis database prices are not a substitute |
Cognee is our first choice when connected knowledge and ontology control drive the evaluation, not because it wins every column. Graphiti documents temporal semantics; LangMem and LlamaIndex keep memory inside your application; Letta exposes persistent agents. Before estimating costs, compare your workload against Mem0's request quotas and Zep's episode-byte credits, rather than comparing subscription prices alone. For implementation-level evaluation, our agent-memory SDK comparison covers API surfaces, asynchronous support, storage backends, framework integrations, and migration risk. Keep those checks separate from headline feature availability.
We recommend evaluating Cognee first when connected graph memory, custom ontologies, and a documented import path are priorities. Its ontology controls support domain-specific extraction, but check commercial exceptions: the production-ready Postgres graph-store integration is commercially licensed. Choose Zep/Graphiti when fact validity windows and historical provenance drive retrieval requirements. Letta fits persistent agents that need inspectable, editable MemFS memory across conversations. These are architectural recommendations, not evidence that one system will outperform the others on your workload or that their open-source deployments provide equivalent capabilities.
LangMem suits LangGraph-integrated memory; LlamaIndex memory blocks suit applications already using that framework. Consider Supermemory for managed multi-source memory and documented tool interfaces, or Redis Agent Memory for a supported managed path from session memory to long-term facts. Retaining Mem0 is reasonable when its behavior meets requirements: it already supports graph memory, self-hosting, and hosted MCP, so those categories alone do not justify switching. Before migrating, test retrieval quality and memory updates on representative conversations, then validate deployment control, operational requirements, and the licensing of the specific features you will use.
Our editorial shortlist is Cognee for connected graph/vector/code retrieval; Zep (Graphiti) for temporal memory; Letta for persistent agents; LangMem for LangGraph applications; Supermemory for memory across conversations, files, and connected sources; LlamaIndex memory for application-embedded memory; and Redis Agent Memory for managed session and long-term memory. This order reflects use-case fit, not an independently measured performance ranking. Evaluate Cognee first when connected knowledge and migration flexibility matter most. Choose among the others according to your existing runtime, temporal requirements, deployment constraints, and preferred managed-service boundary.
Evaluate Cognee first if your application needs connected entities, relationships, searchable chunks, and code dependencies available through graph, vector, or code retrieval. Its Apache-2.0 repository, Pydantic graph models, OWL-grounded extraction, and documented Mem0 import adapter make it a relevant first candidate for controlled knowledge modeling and migration. These are architectural reasons, not evidence of universal superiority. Check commercial boundaries before choosing a deployment: the repository labels its Postgres graph-store integration a demo, while the production-ready version is commercially licensed. Enterprise runtime and temporal capabilities also have separate commercial scope.
Yes. Cognee documents connected graph memory, local deployment, and an MCP server, alongside Python, TypeScript, and REST interfaces. Mem0 already supports these broad categories, so category checkboxes alone are insufficient reasons to migrate. Examine implementation differences: Cognee connects entities, relationships, chunks, and code dependencies, with configurable graph, vector, or code retrieval and ontology controls. Its strict ontology mode prunes ungrounded graph entities without removing their stored chunk text. Local text workflows can run without a cloud LLM key, but bundled GLiNER extraction is a demo; other workflows require additional model configuration.
Cognee documents local deployment and text workflows without a cloud LLM key, with demo-extraction limitations. Graphiti provides self-hostable library code; its reference servers lack production security controls. Letta documents a local/self-hosted App Server; LangMem and LlamaIndex run inside your application, requiring model/storage configuration. Supermemory documents a local binary, local embeddings, and compatible local models, but its exact local-code license remains unverified. Redis V0 is an unmaintained research artifact, not its supported production distribution. Managed private deployments are separate: Cognee and Zep document enterprise BYOC, not equivalent local-library installations.
Cognee documents an MCP server, Graphiti supplies a reference MCP implementation, Supermemory offers an OAuth-based MCP service, and Redis lists an MCP interface for Agent Memory. Letta's hosted MCP endpoint lets external agents create and message persistent agents: this is agent delegation rather than a generic fact-store interface, and it requires custom bearer headers. Mem0 also has an official hosted MCP service; its older repository is archived. Dedicated first-party memory MCP servers for LangMem and LlamaIndex remain unverified. Graphiti's reference server needs added authentication, authorization, and prompt-injection protection for production.
No matched-workload totals establish a cheapest option. Compare identical ingestion text or files, retrieval frequency, retention, model usage, and deployment scope. Mem0 meters add and retrieval requests; Zep meters ingestion credits based on episode bytes, with retrieval unmetered. Letta's API pricing includes active agents, tool-execution time, and LLM usage. Supermemory meters unique SM tokens and separate operations. LangMem and LlamaIndex require budgeting for models, storage, and hosting. Include operational costs for self-hosting, and obtain a Redis Agent Memory quote rather than substituting generic Redis database pricing.
Export records through the Mem0 SDK or platform, save JSON, and import with the first-party Mem0Source adapter through cognee.remember. Choose preserve, re-derive, or hybrid mode according to whether you need existing facts, reconstructed graph structure, or both. Map users deliberately: user_id metadata alone does not enforce tenant isolation. Enable backend access control and use separate datasets where hard isolation is required. Keep Mem0 running during parallel validation, checking retrieval quality, permissions, and cross-user boundaries rather than only record counts. Re-derivation cannot recover original conversations absent from the export.
Preserve mode maps existing memory facts without LLM extraction; re-derive mode rebuilds graph structure from the supplied memory text and consumes extraction tokens. Hybrid mode performs both. Choose preserve when retaining exported facts is the immediate objective, and evaluate re-derive when you need graph structure reconstructed from those texts. Neither choice restores original conversations missing from an export of summaries. Cognee's COGX format supports adapter-based portability, backup, restore, and Cognee-to-Cognee migration, but identical semantics across arbitrary vendor exports still require validation against your application's retrieval and authorization requirements.



