Comparison · Graphiti Type: comparison · competitor sources read 2026-09-19, key rows re-checked 2026-09-26

Okto Neuron vs Graphiti (Zep): bi-temporal facts in a graph database, or claims cited to bytes in your Markdown.

Graphiti, from Zep, is a framework for temporal knowledge graphs on a database you bring. Its strongest feature is one Okto Neuron does not have: facts with validity windows you can query at a point in time. Okto Neuron's is one Graphiti does not have: every claim points at a byte range and a content hash in a Markdown file you own. This page keeps both true.

5
MCP tools: ask, explore, remember, list_vaults, init_vault
0
Hosted tiers. Runs on your machine only
LoCoMo
Measured with our own harness. Results on the benchmarks page
0.3.0
Prerelease. Claude Code is the wired MCP client

The short answer.

Graphiti, the open-source framework behind Zep, builds a knowledge graph from episodes, with edges that record when a fact was valid, on Neo4j, FalkorDB, Kuzu or Amazon Neptune. Okto Neuron builds a graph from a folder of Markdown notes and traces every claim to the bytes it came from.

Pick Graphiti if you need point-in-time questions, a Python framework to build on, or a managed service through Zep.

Pick Okto Neuron if your source of truth is Markdown you write, and you want each claim cited to a byte range and content hash in that file.

01 · Framing

A graph over episodes, or a graph over files.

Graphiti ingests episodes (messages, JSON, text), extracts entities and facts with an LLM, and stores them with time bounds in Neo4j, FalkorDB, Neptune or Kuzu. Okto Neuron ingests Markdown blocks, mints claims, and stores them in an embedded graph that is derived from the vault and can be thrown away and rebuilt.

Graphiti

Track how facts change over time, maintain provenance to source data, and support both prescribed and learned ontology. Every derived fact traces back to its episode, and every edge carries valid_at and invalid_at.

Okto Neuron

The graph is derived from your Markdown vault and can be rebuilt from it. ask returns text with a synthesis_status, and with include_sources=true, the vault-relative path, byte range and content hash of every source block.

02 · The table

Side by side, row by row.

Competitor cells paraphrase the Graphiti README, MCP README, edges.py, help docs and the Zep pricing page. Okto Neuron cells were checked against the 0.3.0 source on 2026-09-26 (storage backends, supersession fields, loopback runtime probing, telemetry extra, MCP surface).

DimensionGraphitiOkto Neuron
Where data livesYour graph database, self-hosted. Zep is the fully managed or in-your-cloud version with a proprietary engineMarkdown vault on your disk; the graph is derived from it. Nothing is hosted
StorageBring your own: Neo4j 5.26, FalkorDB 1.1.2 (also as embedded FalkorDB Lite), Amazon Neptune with OpenSearch Serverless, or Kuzu (deprecated). The MCP server defaults to FalkorDBOkto Grafx by default (embedded). Ladybug selectable. Neo4j selectable with the neo4j extra, which the installer does not add. The graph is derived and can be regenerated from the files
Agent accessPython library plus an MCP server described as an experimental implementation, 13 tools (add_memory, add_triplet, search_nodes, search_memory_facts, and more). Clients listed: Claude Desktop (via mcp-remote), Cursor, VS Code with CopilotMCP with five tools over a bearer-authenticated port; REST and UI on loopback. The installer wires Claude Code
Provenance unitThe episode. Edges carry episodes, fact and reference_time; entities get MENTIONS edges. No byte range or content hash foundA block: vault-relative path, byte_start, byte_end and a sha256 content_hash, returned with include_sources=true on ask
Temporal modelBi-temporal edges: created_at, valid_at, invalid_at, expired_at. Old facts are invalidated, not deleted. Query what is true now or at any point in timeIngest-time supersession bounded to the document being edited: valid_until on the old claim, a supersedes edge from the new one, after an LLM correction judge confirms the change. No point-in-time query. The correction judge does not sweep the whole vault
ExtractionLLM, OpenAI by default; Anthropic, Gemini, Groq, and OpenAI-compatible local servers (Ollama, vLLM, llama.cpp, LM Studio). Works best with structured output; small models can fail extractionLLM curation at ingest against an OpenAI-compatible endpoint, loopback runtimes probed first. Synthesis on ask reports synthesis_status
LicenseApache 2.0Elastic License 2.0 from 0.3.0 (source-available). Releases up to 0.2.0 stay Apache 2.0
Hosted optionZep: free tier with 10,000 credits per month, Flex at $125/month, Flex Plus at $375/month, Enterprise custom. SOC 2, HIPAA, BYOCNone
TelemetryAnonymous, on by default, opt out with GRAPHITI_TELEMETRY_ENABLED=false; never collects contentNo analytics or telemetry dependency in the shipped package
BenchmarksZep publishes LoCoMo and LongMemEval results for its platform (getzep.com/research); no figures for Graphiti alone were found in its READMELoCoMo categories 1-4 from our own harness and judge, on the benchmarks page. Left out of this table on purpose: a different judge, scope and harness mean the numbers do not compare with self-reported figures
MaturityEstablished framework with a commercial managed service behind itPrerelease 0.3.0. The upgrade from 0.2.0 has been rehearsed on Linux with a locally built wheel; macOS and Windows are not yet verified on 0.3.0
03 · Where Graphiti is ahead

What Graphiti has that Okto Neuron does not.

The first card is the important one. It is a design difference Okto Neuron has not closed and does not claim to.

Bi-temporal edges

Graphiti edges carry created_at, valid_at, invalid_at and expired_at. When information changes, old facts are invalidated, not deleted, and you can ask what was true at any point in time. Okto Neuron only dates a superseded claim with valid_until at ingest, inside the document being edited, and has no point-in-time query.

A managed service

Zep runs Graphiti as a fully managed service or in your cloud, with SOC 2, HIPAA and BYOC. Okto Neuron has no hosted option.

Published benchmarks

Zep publishes LoCoMo and LongMemEval scores with latency for its platform. Okto Neuron publishes LoCoMo only, from its own harness and judge, with no latency figures and no speed claims. The two sets of numbers were produced differently, so this page does not put them side by side.

Backend and client choice

Neo4j, FalkorDB (server or embedded Lite), Neptune or Kuzu, and a Python library alongside the MCP server. Okto Neuron's MCP server is wired to Claude Code by the installer; other clients are unverified.

04 · Where Okto Neuron differs

Where Okto Neuron works differently.

Provenance down to the byte range

Graphiti traces a fact to the episode it came from. Okto Neuron traces a claim to a block with byte_start, byte_end and a sha256 content_hash in a file you can open. If the bytes changed, the hash says so.

The file is the truth, the graph is disposable

In Graphiti the graph database is the store. In Okto Neuron the Markdown vault is the store and the graph is derived from it. A rebuild re-runs LLM extraction over the same files, so the new graph can differ from the old one, and the history of superseded claims is not recreated.

A failed answer looks failed

Every ask stamps retrieval.synthesis_status: ok, empty, provider_error, truncated, abnormal_stop or no_llm. An unreachable model returns empty text and a reason, never a paragraph that looks finished.

One installer, one daemon

Okto Grafx is embedded by default and runs inside the daemon the installer starts. The MCP port is bearer-authenticated while REST and UI stay on loopback. Neo4j is an option if you install the neo4j extra.

05 · Choosing

Pick by the question you need the graph to answer.

Choose Graphiti if

You need to ask what was true at a date, not just what is true now.

Your sources are conversations and events, not a folder of Markdown.

You already run Neo4j, FalkorDB or Neptune, or you want Zep to run it for you.

You want a Python library to build on.

You need LongMemEval results or latency figures, which Zep publishes for its platform.

Choose Okto Neuron if

Your knowledge already lives in Markdown and must stay there as the source of truth.

You want each cited source in an answer to come back with its file path, byte range and content hash.

You want nothing hosted, and you are fine with a prerelease.

You want a failed synthesis to say so in the payload.

Questions about this comparison.

Do these benchmark numbers compare?

No. Our LoCoMo results come from our own harness and a local judge, on categories 1-4 only. Figures other projects publish use their own setup. Ours are on the benchmarks page.

Is Okto Neuron open source?

It is source-available. From 0.3.0 the license is the Elastic License 2.0 with an addendum covering SaaS, competing services, internal use and branding. Releases up to 0.2.0 stay under Apache 2.0. The source is on GitHub.

Does Okto Neuron have a hosted version?

No. It runs on your machine, binds 127.0.0.1 and needs no account.

06 · Sources

Where each competitor claim comes from.

Every competitor statement on this page comes from one of these pages, read on 2026-09-19, with key rows re-checked on 2026-09-26. If a source has changed since, the page is wrong and we would like to know.

Point it at your notes. Check the bytes yourself.

Prerelease 0.3.0. Free to run locally. No account required.