Skip to content
← Tools / Skills
ToolZep/10 trustVerified
Graphiti logo

Graphiti

Real-time temporal knowledge graphs for AI agents

Visit official site →

About

Graphiti is a Python framework for building and querying temporal knowledge graphs ("context graphs") that give AI agents persistent, evolving memory. Unlike static RAG, it incrementally ingests episodes (conversations, documents, structured data) and maintains a bi-temporal model: every fact carries a validity window (when it was true in the real world + when the system learned it), so superseded facts are invalidated, not deleted — agents can ask "what is true now?" or "what was true at any point in time?"

Verified live 2026-10-13: 31,679 stars, Apache-2.0, 1,013 commits, 200 releases, actively maintained by Zep AI (founded by Daniel Chalef). Docs quickstart confirmed: pip install graphiti-core (+ backend extras), bring a graph DB (Neo4j 5.26, FalkorDB 1.1.2, Amazon Neptune; embedded falkordblite needs Python 3.12+), and an LLM API key — it defaults to OpenAI for extraction/embeddings/reranking, with Anthropic, Gemini, and Groq supported. Hybrid retrieval (semantic + BM25 + graph traversal) runs without LLM calls at search time. Ships an MCP server and a REST service, plus OTEL tracing. The design is documented in the paper "Zep: A Temporal Knowledge Graph Architecture for Agent Memory" (arXiv:2501.13956, Jan 2025). Note the split: Zep is the managed product (proprietary Context Graph Engine, dashboards, SLAs); Graphiti is the self-hosted OSS core — choose it if you're comfortable building/operating the surrounding system.

What it can do

  • Bi-temporal fact model: facts carry validity windows (valid_at/invalid_at); contradictions invalidate rather than delete, preserving full history.
  • Episodes & provenance: every entity/relationship traces back to the raw ingested episode.
  • Incremental construction: new data integrates immediately without batch recomputation.
  • Prescribed & learned ontology: define entity/edge types upfront via Pydantic models, or let structure emerge from data.
  • Hybrid retrieval: semantic embeddings + BM25 keyword + graph traversal; no LLM summarization at query time.
  • Point-in-time queries: ask what was true at any date via temporal filters.
  • Pluggable backends: Neo4j, FalkorDB (incl. embedded lite), Amazon Neptune.
  • MCP server + REST service for agent/tool integration; multi-tenant graph instances.
  • Configurable prompts, Azure OpenAI / OpenAI-compatible / local-LLM support, OTEL tracing.

Setup

  1. Start a graph backend — easiest: docker run -p 6379:6379 -p 3000:3000 falkordb/falkordb:latest (or Neo4j Desktop).
  2. Install: pip install graphiti-core[falkordb] (Python 3.10+; use [falkordblite] on Python 3.12+ for embedded mode).
  3. Set env: OPENAI_API_KEY (or configure an alternative LLM provider) plus DB vars (e.g. NEO4J_URI/NEO4J_USER/NEO4J_PASSWORD).
  4. Use the Python API: create a Graphiti client, add_episode(...) to ingest, search(...) / search_ to query across time.
  5. Agent integration: run the MCP server (uvx graphiti-mcp-server) and add it to Claude Code/Desktop or Cursor — exposes add-episode / search-nodes / search-facts style tools.
  6. Optional: set GRAPHITI_TELEMETRY_ENABLED=false to disable anonymous usage stats.

Prerequisites

Python 3.10+ (3.12+ for the embedded falkordblite mode). A graph database: Neo4j 5.26, FalkorDB 1.1.2, or Amazon Neptune (Kuzu is deprecated). An LLM API key with Structured Output support — OpenAI by default; Anthropic/Gemini/Groq via extras. Best results with models that support structured output; small/local models may produce incorrect schemas. Docker for the one-line FalkorDB/Neo4j setup.

Use cases

agent-memoryknowledge-graphragtemporal-reasoning

Works with

Claude CodeCursorWindsurfGeneric APIAny agent (.md)

Trust score — 9/10

/10 trustVerified

Scored 9/10 (verified tier, metrics-v1). Evidence: 31,680 GitHub stars (log-scaled vs catalog peers); blended with ~619,128 monthly package downloads; last push 1d ago; 37 releases/12mo; 468 open issues. Manual review: PostHog telemetry ON by default (opt-out GRAPHITI_TELEMETRY_ENABLED=false); defaults to OpenAI for extraction; benchmarks self-reported. License: Apache-2.0.

★ 31,679 GitHub stars

How the trust score is built

Full methodology →
Adoption · stars/downloads, log-scaled vs peers
8.4/10
Maintenance · recency, releases, issue load
9.4/10
Openness · license + docs
10.0/10
Manual review · sanity read + red-flag check
8.0/10
  • · 31,680 GitHub stars (log-scaled vs catalog peers)
  • · blended with ~619,128 monthly package downloads
  • · last push 1d ago; 37 releases/12mo; 468 open issues
  • · manual review: PostHog telemetry ON by default (opt-out GRAPHITI_TELEMETRY_ENABLED=false); defaults to OpenAI for extraction; benchmarks self-reported

Sources

Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.