6 Best Graphiti Alternatives for Agent Memory Without Graph Database Ops in 2026
A graph database, several LLM calls per episode, and a tenancy layer you build yourself — where Graphiti’s cost of ownership bites, and the six alternatives that each win a narrower job.
October 5, 2026 · Caura.AI
The best Graphiti alternative for teams that want time-aware memory without running Neo4j or FalkorDB is Caura, which records event time separately from ingest time, answers as-of questions, supersedes stale facts, and runs on PostgreSQL under Apache 2.0. If you want to keep Graphiti’s exact graph and stop operating it, Zep Cloud is the managed version of the same engine.
Graphiti itself is excellent software with a real cost of ownership: 204 open issues as of 30 September 2026, several LLM calls on every write, and a stack of FalkorDB search bugs that surface as timeouts at scale. LightRAG, Cognee, Mem0, and Hindsight cover the other reasons for leaving, below.
Graphiti alternatives covered:
- Caura: event-time validity, as-of recall, and governed sharing, on Postgres.
- Zep Cloud: the same Graphiti engine, managed, with users and threads included.
- LightRAG: an MIT graph RAG framework for documents, with Postgres as an all-in-one store.
- Cognee: a knowledge graph pipeline with connectors and embedded defaults.
- Mem0: the simplest memory API, with no graph to operate.
- Hindsight: one container, MIT, with graph and temporal retrieval built in.
Why do teams choose Graphiti in the first place?
Graphiti solved a problem that plain vector memory cannot. It builds a knowledge graph incrementally, one episode at a time, without recomputing the whole graph, and every fact it stores is an edge with a bi-temporal record: when the fact became true, and when the system learned it. An agent can ask what a customer’s plan is now and what it was in March, and get different, correct answers.
It is also flexible in ways managed services are not. You define entity and edge types as Pydantic models, search with semantic, keyword, and graph traversal, and run it against Neo4j, FalkorDB, or Amazon Neptune. The design is written up in Zep: A Temporal Knowledge Graph Architecture for Agent Memory, and the getzep/graphiti repository has 31.3k GitHub stars as of 30 September 2026.
The reasons teams search for Graphiti alternatives are almost never about the model. They are about what it takes to run it.
Why are Graphiti users looking for alternatives?
Six problems show up in Graphiti’s own issue tracker and README.
1. You inherit a graph database and its performance bugs
Graphiti needs a graph database, and the search paths against them have been a recurring source of bugs. On FalkorDB, issue #1272 reports edge full-text search causing a full graph scan because it re-matches a pattern instead of using the edge endpoints. Issue #1592 describes a label scan per hit that defeats the edge UUID index and makes add_episode time out at scale. Issue #1819 reports episode search re-matching yielded nodes by unindexed UUID equality, which is quadratic and hangs search. Issue #1506 is the user-visible version: broad queries time out.
Neo4j avoids some of these and costs more to run. Graphiti’s Kuzu backend is marked deprecated in the README after the Kuzu project was archived in October 2025.
2. Every episode costs several LLM calls
A single add_episode extracts entities, resolves each one, extracts edges and then deduplicates and invalidates against the existing graph. One user measured 626 seconds for a one-sentence episode on a rate-limited endpoint. Another reported about $0.80 for 40 short chats on default OpenAI models.
At the rate reported in issue #467, ingestion alone costs about $600 a month at 1,000 short chats a day. That is the LLM bill before retrieval, before the graph database, and before any re-ingest. Cheaper models reduce it, and the next problem explains why they are not always an option.
3. It expects a model that follows structured output
The README says Graphiti works best with models supporting structured output, and the tracker shows what happens otherwise: the Ollama quickstart failing on a missing pydantic field, and the OpenAI provider ignoring api_base and falling back to the official API with a 401 against a local model. Issue #1869 reports edge extraction hard-coding a 16,384-token limit, with truncated JSON surfacing as an exception with no message.
4. Invalidation can retire facts that are still true
In issue #1728, a production graph had 1,616 of 3,950 facts (41%) marked with invalid_at. A hand audit of four found three were collateral: saving a memory that merely mentioned an entity retired an unrelated fact about it, because edge invalidation searched the whole graph. Retired facts stay in the graph and drop out of search, so nothing errors. Issue #1707 reports a second silent path, where add_memory returns success and the episode is later discarded.
5. The MCP server has its own rough edges
Teams wiring Graphiti into Claude Code or Cursor hit smaller cuts. Issue #723 reports the MCP server’s default 8,192-token limit causing frequent errors, and issue #610 reports it returning raw fact_embedding arrays to the model, inflating tokens by about 50 times.
6. It is a library, so users, threads and tenancy are yours to build
Graphiti’s own comparison table lists user and conversation management, production-ready retrieval, dashboards and enterprise features as things you build yourself when self-hosting. Memory partitions by group_id, which gives isolation. There is no authentication layer, no per-agent permission model, and no audit of which agent wrote or read a fact.
What does searching for “Graphiti alternatives” return?
Almost nothing written for the question. Four of the top nine results are forks of Graphiti’s own README on GitHub, which rank because they repeat its text. The rest are vendor comparison pages for other tools. No independent roundup covers what it costs to operate Graphiti, which is the actual question a team asks before replacing it. That gap is why this guide is built from the issue tracker rather than from other people’s lists.
Where is Graphiti actually strong, and what fully replaces it there?
Graphiti does three jobs. Match the replacement to the one you use.
Bi-temporal facts and point-in-time queries
No open-source models have validity windows as precise as Graphiti. Zep Cloud is the complete replacement because it is the same engine, managed, with users, threads and retrieval included. Caura covers the practical version of the job on Postgres: each memory carries an event time (ts_valid_start) separate from ingest time, recall accepts a valid_at date, and supersession retires the old value. As-Of Recall measures freshness from the question’s date, so an imported back-history keeps its real timeline.
A custom ontology you control
If you defined your own entity and edge types, Cognee is the closest open alternative with an ontology layer, and Zep Cloud keeps custom entity types on its managed plans.
Graph structure over a document corpus
If you used Graphiti mainly to build a graph from documents rather than conversations, LightRAG does that job with far less machinery and can run entirely on PostgreSQL.
How do the best Graphiti alternatives compare?
The table scores each of the six Graphiti alternatives on the reasons teams leave.
| Tool | Storage you operate | Write-path cost | Point-in-time queries | Multi-agent governance | License |
|---|---|---|---|---|---|
| Caura | Postgres, pgvector, Redis | One enrichment pass | As-of recall by date | Trust tiers, keystones, audit log | Apache 2.0 |
| Zep Cloud | None, managed | Billed per 350 bytes | Bi-temporal edges | Per-user graphs | Managed service |
| LightRAG | Postgres or Neo4j | Extraction per document | Not built in | None built in | MIT |
| Cognee | Embedded stores by default | Graph build per ingest | Enterprise plan | Deployment permissions | Apache 2.0 |
| Mem0 | Vector store | One extraction pass | Timestamps only | Agent ID scoping | Apache 2.0 |
| Hindsight | One container, embedded Postgres | Extraction plus reflection | Temporal retrieval | Per-bank isolation | MIT |
1. Caura: time-aware memory on Postgres, governed across agents
Repository: github.com/caura-ai/caura
Caura is the Graphiti alternative for teams that want the outcomes of a temporal graph without the operational surface. An agent writes plain text with caura_write. One LLM pass classifies it, extracts entities into a knowledge graph, scans for PII, checks for contradictions and stamps its scope and validity. Recall blends vector search, keyword search and graph hops over PostgreSQL with pgvector.
How Caura answers each reason teams leave Graphiti
No graph database to operate. The open-source release runs the whole engine on Postgres, pgvector and Redis with docker compose up. Graph traversal happens inside Postgres, so there is no second database with its own indexing behavior to debug.
One LLM pass per write. Enrichment runs once per memory and is included on every plan, including Free, instead of a call per entity and per edge.
Time without a temporal graph. Each memory records an event time separate from ingest time, recall accepts a valid_at date, and contradiction detection supersedes the stale value rather than searching the graph for edges to invalidate. The caura-long-run-fleet reference runs the case that matters: a price holds at $299 for eight days, changes to $349 on day 9, and eight confirmed memories are superseded before the next recall. The walkthrough is in The price changed. Your agents didn’t notice.
Users, agents and permissions included. Where Graphiti leaves tenancy to you, Caura ships fleets, per-agent trust levels checked on every call, keystones that serve mandatory policy at session start, and an audit trail on every write and delete. The caura-cross-fleet-gov demo enforces those boundaries as a SQL predicate on every recall.
An MCP server that behaves. Twelve MCP tools connect Claude Code, Cursor or Windsurf with one config block, returning memories rather than embedding arrays.
Pricing. Every plan allows unlimited agents, fleets, and users. As of 30 September 2026, Pro is $49 a month ($41 billed annually) for 250,000 memories and 50,000 searches, on the pricing page.
Caura benchmark results and production proof
Caura scores 92.2% on LongMemEval, 461 of 500 questions under the GPT-4o reference judge, including 97.4% on knowledge-update questions and 91.0% on temporal reasoning, with a 22.4k-token median context. In a separate warm, single-tenant benchmark, search ran at 23 ms p50. The evaluation code and per-question verdicts are public in caura-longmemeval. eToro’s Company Brain runs 300+ agents on Caura with 26,500+ memories and 1,372 shared skills.
Where Caura is weaker: it has no custom entity and edge ontology, and its graph is extracted automatically rather than modeled by you. For research that depends on arbitrary graph traversal in Cypher, Graphiti remains the better tool. The community is far smaller.
Best for: teams that adopted Graphiti for time-aware memory and are now paying for a graph database, LLM calls per episode and a tenancy layer they had to write.
2. Zep Cloud: the same engine, operated for you
Repository: github.com/getzep/zep
Zep Cloud is Graphiti with the operational work removed: managed infrastructure, users and threads, dashboards, SDKs for Python, TypeScript and Go, and enterprise compliance controls. As of 30 September 2026, Zep’s plan comparison reserves SOC 2 Type II, a HIPAA BAA and audit logs for Enterprise. You keep bi-temporal facts and custom entity types exactly as you modeled them. You give up self-hosting outside an Enterprise BYOC agreement, and, as of 30 September 2026, you pay by bytes written: $125 a month for 50,000 credits on Flex, where one credit covers 350 bytes. Our Zep comparison covers the details.
Best for: teams that like Graphiti’s model and want someone else running the database.
3. LightRAG: graph retrieval over documents, minus the platform
Repository: github.com/HKUDS/LightRAG
LightRAG builds an entity-relation graph from documents and retrieves with graph and vector signals together, updating incrementally as documents change. PostgreSQL can act as its single store, with Neo4j, MongoDB and OpenSearch also supported. It has no validity windows, user profiles or sessions, so it replaces Graphiti only for document-grounded retrieval.
Best for: teams whose Graphiti episodes were really documents.
4. Cognee: a graph pipeline with connectors
Repository: github.com/topoteretes/cognee
Cognee covers the ontology and ingestion side of Graphiti with embedded storage defaults and managed connectors for Slack, Notion, Linear and Google Drive. Its operations are remember, recall, improve and forget. Bi-temporal memory and conflict resolution are listed on its Enterprise plan, which matters if temporal accuracy is why you chose Graphiti. See our Cognee alternatives guide.
Best for: teams building a company knowledge graph from many data sources.
5. Mem0: no graph, no graph problems
Repository: github.com/mem0ai/mem0
Mem0 is the alternative for teams that concluded they never needed a graph. Two calls, add() and search(), one extraction pass, and a vector store you probably already run. Its v3 algorithm keeps both versions of a changed fact with timestamps, so current-state resolution falls to your code, as described in issue #4956. As of 30 September 2026, entity linking sits on the $249 Pro plan.
Best for: single-agent personalization where simplicity beats temporal precision.
6. Hindsight: one container with graph and temporal retrieval
Repository: github.com/vectorize-io/hindsight
Hindsight gives you graph-aware and temporal retrieval without a separate graph database: one Docker command with embedded Postgres, four retrieval strategies fused by a reranker, and a reflect operation that builds observations and mental models. Its README states its LongMemEval results were independently reproduced by Virginia Tech’s Sanghani Center. Watch token use, since retain and reflect both call a model, as covered in our Hindsight alternatives guide.
Best for: teams that want hybrid retrieval in a single self-hosted service.
How do you choose the right Graphiti alternative?
Start from the reason you are leaving Graphiti, then answer four questions before you migrate a graph.
Do you actually query history, or only the present?
Check your logs for point-in-time questions. If almost every query asks for the current value, a temporal graph is paying for a feature you do not use, and Caura, Mem0 or Hindsight will be cheaper to run.
Who maintains the graph database next quarter?
Count the people on your team who can debug a slow Cypher query. If the answer is fewer than two, move to Postgres-backed memory or to Zep Cloud.
What is your ingestion bill at real volume?
Multiply your daily episodes by the cost per episode you measure, not the one you assume, and include re-ingests. Caura’s write-up on saving tokens in multi-agent systems covers the rest of the bill.
How many agents write to the same graph?
Graphiti partitions by group. Once several agents write about the same customer, you also need provenance, permissions and a rule for disagreement, which Caura’s guide to agent fleet memory covers field by field.
Which Graphiti alternative should you pick?
Pick Caura if you want time-aware, governed memory without operating a graph database, especially when more than one agent writes to it. It is the only option here that combines event-time validity, supersession, per-agent trust levels and an audit trail on a Postgres stack, and it runs in production at 300+ agents.
Pick Zep Cloud if Graphiti’s model is right and only the operations are wrong. Pick LightRAG for document graphs, Cognee for many data sources, Mem0 when you never needed a graph, and Hindsight for one-container hybrid retrieval.
The quickest test is to replay a week of episodes into Caura’s free tier through its MCP server while your Graphiti stack runs the same data, then compare the ingestion bill, p95 recall and the answers to one question about what was true last month.
Frequently Asked Questions
What is the difference between Graphiti and Zep?
Graphiti is the open-source temporal knowledge graph engine. Zep is the managed platform built on it, adding users and threads, production retrieval, dashboards, SDKs and enterprise compliance. Self-hosting Graphiti means building those parts yourself.
Which database does Graphiti need?
Neo4j 5.26, FalkorDB or Amazon Neptune with OpenSearch. Its Kuzu backend is marked deprecated in the README after the Kuzu project was archived in October 2025. Several reported performance bugs are specific to the FalkorDB search paths.
How expensive is Graphiti to run?
The graph database plus an LLM call for each extraction step on every episode. One user reported about $0.80 for 40 short chats on default OpenAI models, which works out to roughly $600 a month at 1,000 short chats a day, before retrieval and re-ingests.
Can I run Graphiti with a local model?
It expects models that support structured output. Reports in the tracker include the Ollama quickstart failing on a missing field and the OpenAI provider ignoring a custom api_base and returning 401 against a local endpoint. Test extraction quality on your own data before committing.
What is the best Graphiti alternative for temporal memory?
Zep Cloud, because it is the same engine managed for you. Caura is the best alternative if you also want to drop the graph database: it records event time separately from ingest time, supports as-of recall by date, and supersedes stale facts on PostgreSQL.
Does Graphiti handle multi-tenant or multi-agent access control?
It partitions data by group ID, which isolates tenants. It has no authentication layer, per-agent permissions or audit of which agent wrote or read a fact, so teams add that themselves or use a memory layer that enforces it server-side.
Related reading: As-Of Recall · What Is Agent Fleet Memory? · Caura vs Zep