Graph memory that
survives production.
Open-source temporal knowledge graph with sub-50ms retrieval across PostgreSQL, FalkorDB, and SurrealDB. Five LLM providers, an MCP server, and a typed Python SDK.
live graph
- nodes
- 1,284
- edges
- 3,912
- facts
- 746
- p50
- 38ms
Runs on the stack you already operate
PostgreSQL, FalkorDB, or SurrealDB for the graph. Redis for caching. Prometheus for metrics. Nothing exotic to buy.
license
AGPLv3 core
The backend is open source end to end. Audit it, fork it, run it without a sales call.
deploy
Docker Compose + Helm
One compose stack for evaluation. A Helm chart for production clusters.
control
Self-host or cloud
Run it inside your VPC. The graph, the vectors, and the audit trail stay yours.
Ingest, resolve, retrieve.
Three calls stand between a raw transcript and a sub-50ms context window.
Ingest
sdk · mcp · restSend messages, files, and events through the Python SDK, the MCP server, or plain REST. Files attached to a session are preserved as S3-backed blobs that messages reference by blob_id — never digested and discarded.
memory.ingestfrom openzync import AsyncOpenZync
async with AsyncOpenZync(api_key=“oz_...”) as oz:
await oz.memory.ingest(
project_id=“proj_abc”,
messages=[{“role”: “user”, “content”: “Ship the billing fix”}],
session_id=“session_xyz”,
)
Resolve
temporal knowledge graphExtracted facts land in a temporal graph. A later correction supersedes the fact it replaces instead of piling up beside it, edges expire in lockstep, and as-of reads return the graph exactly as it stood at any point in time.
fact-supersessionregion: eu-westregion: us-eastsuperseded · effective 2026.10Retrieve
sub-50ms contextget_context returns ranked, deduplicated context in under 50ms on the default stack. The MCP server exposes the same retrieval to any capable agent runtime, and five LLM providers sit behind one config flag.
memory.get_contextctx = await oz.memory.get_context(
project_id=“proj_abc”,
query=“billing fix status”,
)
# ✓ 3 facts · 2 entities · 41ms
The memory layer, end to end.
From ingestion to retrieval to the controls your security team asks about.
Temporal Memory & Fact Supersession
Corrections supersede instead of delete. Read facts at any point in time — as-of-now and as-of-past queries — with observable supersession events (superseded_count, webhooks) and edges that expire in lockstep.
Multi-Graph Backends
Seamlessly switch between PostgreSQL, FalkorDB, SurrealDB, and more. Your agent's memory isn't locked into any single vendor.
Multi-LLM Support
Works with OpenAI, Anthropic, Azure, OpenRouter, and local models via Ollama. Route tasks to different providers based on cost, latency, or capability.
MCP server
A FastMCP server exposes the same memory surface to any MCP-capable agent runtime, over stdio or HTTP. Point your agent at it and start reading and writing memory.
File & Blob Attachments
Attach files to sessions as first-class, S3-backed objects — preserved, not just digested to text. Messages reference them by blob_id, and their content is extracted into the fact store. Memory that keeps the file.
RBAC and audit log
Organization-scoped roles and permissions enforced server-side, JWT and API-key auth on every route, and an append-only audit log of administrative activity.
Observability Built-In
Every tool execution, LLM call, and workflow transition emits structured logs with latency, token counts, and cost estimates out of the box.
OpenAI-compatible endpoints
Route to OpenAI, Azure OpenAI, a local Ollama, or any OpenAI-compatible endpoint. The provider is configuration, not a rewrite.
Measured, not promised.
One disclosed benchmark run, one latency budget, and the surface area underneath them.
LongMemEval-S
500 questions · 2026.10
Context retrieval
default stack, p50
Graph backends
PostgreSQL · FalkorDB · SurrealDB
LLM providers
OpenAI · Anthropic · Azure · Ollama · compatible
Customer Support with Persistent Agent Memory
Give support agents persistent memory of every customer interaction across sessions, tools, and handoffs — eliminating context loss and reducing resolution times.
Read the use caseContext-Aware Automated Code Review
A code review agent that remembers project conventions, past PR feedback, and architectural decisions across the entire repository history.
Read the use caseSelf-host in minutes. Your data never leaves.
OpenBao holds every runtime secret. Auth is JWT or API key with org-scoped RBAC. Every administrative action lands in the audit log.
- SecretsRuntime configuration lives in OpenBao, the sole source of truth. Nothing sensitive sits in a .env file.openbao
- AuthJWT and API-key authentication on every route. Keys are scoped to an organization.jwt + api-key
- AccessOrganization-scoped roles and permissions, enforced server-side on every endpoint.rbac
- AuditAppend-only audit log of administrative activity, including webhook deliveries.audit.log
Start from your seat.
Three entry points into the same memory layer.
Developers
Typed Python SDK, REST API, and an MCP server. Bring your own graph backend — PostgreSQL, FalkorDB, or SurrealDB.
Use casesTech Leads
JWT and API-key auth, org-scoped RBAC, an append-only audit log, and Prometheus metrics. Helm chart included.
Use casesProduct Managers
Ship agent behaviour, not database drivers. Every session auditable, every retrieval observable.
Use casesRun the memory layer on your own infrastructure.
Start free on the hosted instance, or self-host the AGPLv3 core in your own VPC. No credit card, no sales call.