Graphiti: Temporal Context Graph Engine for AI Agents

Build real-time knowledge graphs that evolve with every interaction — know what's true now and what was true before.

Source repo
getzep/graphiti
Stars
★ 32k
Last updated
today
License
Apache-2.0
Primary language
Python

At a glance

How it runs
Library / SDKSelf-hosted serviceMCP server
Works with
Universal · cross-platformOpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Python 3.10+Neo4j 5.26 or FalkorDB 1.1.2Shell / CLINetwork access
Typical use
Customer support agents that need to track evolving user preferences and relationships from conversation history.
Not a fit if
  • Teams unwilling to run and operate their own graph database
  • Teams needing built-in user management, dashboards, or SLAs

What does this agent do, and when should you use it?

Graphiti is an open-source framework for building and querying temporal context graphs for AI agents. Unlike static knowledge graphs, Graphiti tracks how facts change over time, maintains provenance to source data, and supports both prescribed and learned ontology. It continuously integrates user interactions, structured and unstructured enterprise data, and external information into a coherent, queryable graph. The framework supports incremental updates, eliminating the need for full graph recomputation, and enables efficient retrieval and precise historical queries. Graphiti offers hybrid retrieval combining semantic embeddings, keyword search, and graph traversal, with sub-second query latency. It serves as the core engine of Zep's context infrastructure, which has been demonstrated as State of the Art in Agent Memory.

Graphiti constructs temporal context graphs: it ingests episodes (raw data) and extracts entities and relationships, assigning temporal validity windows to each fact. It automatically invalidates outdated facts while preserving history. Key operations include: initializing the Graphiti class, adding episodes (text or structured JSON), searching for nodes and edges using hybrid search (semantic + BM25 + graph traversal), reranking results with graph distance, and querying across time. It connects to graph databases such as Neo4j, FalkorDB, Amazon Neptune via drivers like Neo4jDriver and FalkorDriver.

  1. Customer support agents that need to track evolving user preferences and relationships from conversation history.
  2. Financial or legal analysts who require precise answers about whether a fact was true at a specific time.
  3. Recommendation systems that must adapt to real-time user behavior and emerging trends.
  4. Enterprises aiming to build a unified knowledge graph from diverse data sources (emails, documents, databases).
  5. Development teams that prefer a self-hosted graph engine with multi-provider LLM support (OpenAI, Anthropic, etc.) and no vendor lock-in.

How do you install or deploy this agent?

Requirements: Python 3.10+, a graph database (Neo4j 5.26, FalkorDB 1.1.2, etc.), and an OpenAI API key. Install via pip: pip install graphiti-core, or with uv: uv add graphiti-core. For FalkorDB support, use: pip install graphiti-core[falkordb]. Optional LLM providers: e.g., Anthropic via pip install graphiti-core[anthropic].

How do you use this agent?

Quick start: set OPENAI_API_KEY, connect to a database, initialize Graphiti, add episodes, and search. Example: from graphiti_core import Graphiti; graphiti = Graphiti("bolt://localhost:7687", "neo4j", "password"). For a complete example, see the examples/quickstart directory.

What are this agent's strengths and limitations?

Pros
  • Temporal fact management: old facts are invalidated, not deleted, preserving history and enabling queries at any point in time.
  • Hybrid retrieval: combines semantic, keyword, and graph traversal for sub-second queries.
  • Incremental graph construction: new data integrates immediately without batch recomputation.
  • Multiple graph backends: Neo4j, FalkorDB, Amazon Neptune, etc.
Limitations
  • Strong dependency on LLMs that support structured output (e.g., OpenAI); others may fail.
  • Requires self-managed graph database (e.g., Neo4j), adding operational overhead.
  • Advanced features like user management and dashboards must be built yourself or via Zep (commercial).
  • Kuzu backend is deprecated.

How does this agent compare with similar options?

Graphiti can be compared to GraphRAG: GraphRAG is suited for static document summarization with batch processing and query latency of seconds; Graphiti is designed for dynamic, evolving context with incremental updates, sub-second latency, and explicit temporal tracking with automatic fact invalidation.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Graphiti: Temporal Context Graph Engine for AI Agents This agent 50 · Major gaps Library / SDKFree + model costs ★ 32k today Python OpenAI API · Claude API
Yuxi – Self-Hosted Multi-Tenant Knowledge Agent Platform 41 · Major gaps Self-hosted serviceFree + model costs ★ 7.4k 2d ago Python OpenAI API
SimpleMem: Efficient Lifelong Memory for LLM Agents 43 · Major gaps Library / SDKFree + model costs ★ 3.8k 2mo ago Python ChatGPT · Claude Code
M-flow Cognitive Memory Engine 36 · Major gaps CLIFree + model costs ★ 4.5k 2mo ago Python OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
50/ 100 5-point scale 2.5 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 5 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 7/29
Reliability 8/14
Adaptability 10/18
Convention 12/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust7 / 29 · 1.2/5

Evidence shows: Apache-2.0 license, SECURITY.md indicating 0.x support and private vulnerability reporting. Dependencies listed in pyproject.toml but no security audit evidence. Data flow described in README but no explicit user confirmation or transparency. External effects involve LLM and database calls but no least privilege or confirmation. No rollback mechanism. Source attribution present via authors but publisher unverified. Deductions: lack of user confirmation, insufficient data flow transparency, weak dependency security evidence, unclear external effects permissions, no rollback.

Reliability8 / 14 · 2.9/5

Evidence shows: README and code examples are consistent in functionality description, but no execution test evidence. Dependencies listed but availability not verified. Failure messages not exemplified. Deductions: no executed tests, dependency availability unverified, insufficient failure message evidence.

Adaptability10 / 18 · 2.8/5

Evidence shows: README identifies target audience (AI agent developers) and use cases (building temporal context graphs). Capability boundaries explained via Zep vs Graphiti and GraphRAG comparisons. Trigger precision not explicit but API examples provided. Environment fit supports multiple databases and LLM providers but not all configurations. Deductions: trigger precision unclear, environment fit not comprehensive.

Convention12 / 18 · 3.3/5

Evidence shows: README well-structured with installation, quickstart, examples. Installation notes detailed. Naming consistent. Examples and FAQ present. Known limitations mentioned (Kuzu deprecation, LLM structured output issues). License Apache-2.0. Version in pyproject.toml. Maintenance responsibility via authors and contributing guide. Deductions: no explicit changelog, version history incomplete.

Effectiveness9 / 13 · 3.5/5

Evidence shows: Output usability via API and MCP server, but no actual output examples. Marginal value highlighted vs GraphRAG with temporal awareness and incremental updates. Cost-benefit: open-source free but requires self-hosted database and LLM API costs. Deductions: insufficient output examples, cost-benefit not quantified.

Verifiability4 / 8 · 2.5/5

Evidence shows: Claims in README (temporal awareness, incremental updates) supported by code and docs, but no independent verification. Cross-source corroboration via arXiv paper link but no other independent sources. Fact vs inference separation not explicit. Deductions: insufficient cross-source corroboration, unclear fact-inference separation.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Publisher identity unverified; exercise caution regarding supply chain risks.
  • No dependency security audit evidence; recommend checking for vulnerabilities.
  • Project calls external LLM and database services; ensure data privacy and least privilege.
  • Kuzu backend deprecated; be aware before use.
  • No rollback mechanism; handle data operations with care.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 425bf2481b51 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.31.1
    Release notes excerpt
    What's Changed * chore: set graphiti-core version to 0.31.0 for the v0.31.0 release by @devin-ai-integration[bot] in https://github.com/getzep/graphiti/pull/2010 * chore: set graphiti-core version to 0.31.1 by @devin-ai-integration[bot] in https://github.com/getzep/graphiti/pull/2011 Full Changelog: https://github.com/getzep/graphiti/compare/v0.31.0...v0.31.1
    View on GitHub ↗
  2. v0.31.0 v0.31.0 - gpt-6-luna as the default OpenAI model
    Release notes excerpt
    What's Changed * Publish zepai/graphiti on v*.*.* tags like MCP by @mehulp93 in https://github.com/getzep/graphiti/pull/1862 * Add pevans to the CLA allowlist [ZEPAI-3570] by @pevans in https://github.com/getzep/graphiti/pull/1883 * Update root uv.lock to fix Dependabot alerts [ZEPAI-3570] by @pevans in https://github.com/getzep/graphiti/pull/1881 * Update mcp_server/uv.lock to fix Dependabot alerts [ZEPAI-3570] by @pevans in https://github.com/getzep/graphiti/pull/1882 …
    View on GitHub ↗
  3. v0.30.2 v0.30.2 - FalkorDB updates
    Release notes excerpt
    What's Changed * fix(ci): bump gh-action-pypi-publish for metadata 2.5 by @prasmussen15 in https://github.com/getzep/graphiti/pull/1821 * Bump graphiti-core to 0.30.1 by @prasmussen15 in https://github.com/getzep/graphiti/pull/1822 * Fix Neo4j database routing and honor NEO4J_DATABASE in MCP server by @mehulp93 in https://github.com/getzep/graphiti/pull/1812 * fix: include Saga nodes when clearing data by group_ids by @Naseem77 in https://github.com/getzep/graphiti/pull/1688 …
    View on GitHub ↗

FAQ

What is the difference between Graphiti and Zep?
Graphiti is the open-source engine that requires you to bring your own graph database and build auxiliary tools; Zep is the managed platform offering user management, dashboards, and sub-200ms retrieval at scale.
Can I use LLMs other than OpenAI with Graphiti?
Yes, Graphiti supports Anthropic, Gemini, Groq, and any OpenAI-compatible endpoint (including local models via Ollama, vLLM, etc.).
How does Graphiti handle contradictions in data?
Graphiti automatically invalidates old facts when new information contradicts them, while preserving the historical record.
Is Graphiti production-ready?
Graphiti is an open-source engine that can be used in production, but you must handle monitoring, security, and scaling yourself; Zep offers enterprise-grade support.
View on GitHub ↗ Install ↓

Related agents