What is Omnigraph?
Omnigraph is an open-source graph database developed by Modern Relay and published in the ModernRelay/omnigraph repository under the MIT license. The project describes it as an object-storage native graph database with branching and a typed ontology, built for long-running AI agents that share one model of a domain, retrieve context from it and write updates back. Agents and user interfaces read and write through the database instead of keeping their own state.
The engine is written in Rust (stable toolchain, edition 2024) and builds on Apache Arrow, DataFusion, Cedar and the open Lance columnar format. Graph data is stored as versioned Lance files, including Blob values, on local disk or on S3-compatible storage such as RustFS, MinIO, AWS S3, Cloudflare R2 and Google Cloud Storage, with Azure Blob Storage in preview. Storage and compute are separate: the same graph can be opened embedded from a folder with no server, or served by omnigraph-server. The official website lists three deployment shapes: embedded, bring-your-own-cloud on AWS, Azure or GCP, and on-premises with any S3-compatible store.
Release binaries cover Linux x86_64 and arm64 (glibc 2.39 or newer), macOS arm64 and Windows x86_64, installed by a shell or PowerShell script, a Homebrew tap or a Nix flake, as described in the install guide. A server container image is published at ghcr.io/modernrelay/omnigraph-server. Besides stable releases, edge prereleases are built daily from the main branch after CI passes. New macOS archives are signed with EQTR INC's Developer ID and notarized by Apple.
The latest stable release is v0.15.0, published on November 9, 2026. Its release notes report a CSV bulk load into a new graph in less than half the 0.14 time, reads that no longer wait for writes in the same server process, branch diffs and merges that read only the rows that changed, MCP access to every graph operation subject to Cedar policy, and lease checks that prevent two servers from writing to one S3 cluster at once. The notes list upgrade actions: the --mcp-allow-writes and --mcp-allow-adhoc flags were removed, @card minimums are checked on every write, and @unique on list or vector properties is refused. Graph storage did not change, so existing graphs open without a rebuild.
Modern Relay also runs Omnigraph Cloud, a managed service with a dedicated cluster per organization, SSO, scoped tokens, central policy, audit and declarative configuration. The Cloud page marks it as a private preview with a waitlist, states that the preview costs nothing and that cluster pricing comes later. Companion projects include Omnigraph Studio, a GPU-rendered desktop client written in Rust with GPUI, the TypeScript and Python SDKs, and the cookbooks repository of runnable example graphs. Similar listings on iThub include the vector databases Weaviate and Milvus and the agent memory layer Mem0.
Omnigraph screenshots
Explore the interface. Open a screenshot to view it at full size.

Branch review in Omnigraph Studio, frame from the official Studio demo.

A node opened as a page, with its properties and outgoing and incoming relationships from the sample graph.

Tree view walking a node's relationships by edge type, with edge properties on the right.

Azure reference architecture from the Omnigraph RFCs: server and bootstrap job in Container Apps, a writer lease and the cluster root in Blob Storage.
Source: official Omnigraph project page.
Key capabilities
- Typed ontology in .pg schemas Schemas declare node and edge types, keys, enums, vector properties and constraints such as
@key,@unique,@indexand edge cardinality with@card. The engine checks every write against the schema. Since 0.15,schema applycan make a nullable property required and add a node@uniqueto a type that already has rows, after checking the stored data. - Multimodal retrieval in one query A single query combines graph traversal, approximate nearest-neighbour vector search, BM25 full-text search and Reciprocal Rank Fusion, with filtering. Ranked reads return a
rankingobject that names the search, the score columns and whether higher or lower scores are better, and flags non-exhaustive searches. Embedding properties can be filled from a text property with@embed. - Branches, merges and time travel A branch can be created per agent or per task from
main, written in isolation, diffed and merged with a three-way merge across the whole graph. History can be read at earlier versions. In 0.15, most diffs and merges read only the rows whose version changed; the release notes give 54 storage requests for a fast-forward merge after 1,024 commits, against 4,168 before. - Stored queries and mutations Queries are written in GQ and kept as
.gqfiles; every named query in the bundle is registered. The CLI runs them by name with JSON parameters, for exampleomnigraph query search_docsoromnigraph mutate add_person. Aliases bind a target, graph and stored query to one short command. - Clusters declared as code A
cluster.yamlbundle declares graphs, schemas, stored queries, embedding providers and policies.cluster validate,cluster planandcluster applypreview and converge a target in the style of Terraform, and the server activates applied changes without a restart. Apply prints a deployment ID that can be inspected if delivery is interrupted. - Cedar policy enforced in the engine Cedar policies are bound per graph, per branch or server-wide and checked on every mutation. The HTTP server, the CLI and the embedded SDK go through the same gate. Static bearer tokens are hashed at startup and compared in constant time, and the acting identity is resolved on the server from the token. The policy guide documents the actions.
- Built-in MCP endpoint The server exposes
/mcp, reachable directly or throughomnigraph mcp --target NAME. Since 0.15 an MCP client can query, mutate, diff branches, find a merge base and publish or drop proposed commits, and the Cedar policy of its credential decides which tools it may run. Blob payloads and exports remain HTTP and CLI only. Details are in the MCP guide. - HTTP API and SDKs The HTTP server publishes an OpenAPI contract in the repository. The TypeScript SDK ships on npm as
@modernrelay/omnigraph, and a Python client targets the same HTTP contract. Clients must match the server contract version; the README states that the 0.14 server requires contract 0.14. - Object storage and open format Graphs live on local disk or S3-compatible storage (RustFS, MinIO, AWS S3, R2, GCS), with Azure Blob in preview. Data is stored in Lance files that other Lance tools can read. An S3 cluster allows one writer at a time under a renewed lease; since 0.15 a server that loses the lease stops writing and exits with code 2.
- CSV and JSONL loading
load csvimports node and edge tables; in 0.15 an overwrite load parses in parallel 8 MiB pieces and validates keys and edge endpoints as rows arrive. A refused load leaves nothing behind. JSONL loads and mutation queries can insert a node with its edges, which schemas with@cardminimums require. - Indexes and maintenance
omnigraph index build --branchbuilds missing indexes on a branch and rebuilds lagging BTREE and vector indexes, which previously onlyoptimizeon main did. Maintenance commands accept ans3://cluster root on the command line, so a stopped S3 cluster can be unlocked, optimized or cleaned up. - Observability The server can export OpenTelemetry traces and write JSON logs that carry trace IDs. The release notes state that neither output contains payloads or credentials. OAuth client identities acting for a person are recorded in the access endpoint and the policy decision log.
- Agent skill and onboarding The
omnigraphbinary carries an agent skill covering cluster mode, schema evolution, query linting, writes, branches and Cedar policy.omnigraph skill exportwrites it where a coding agent loads skills, and an onboarding document lets an agent install the CLI and build a small local graph. - Install on macOS and Linux The install script downloads a release archive, verifies its SHA-256 checksum and places
omnigraphandomnigraph-serverin~/.local/bin. Homebrew users can install from theModernRelay/taptap. Prebuilt binaries cover macOS arm64 and Linux x86_64 and arm64 with glibc 2.39 or newer; Intel Macs and other platforms build from source. - Install on Windows A PowerShell script installs the Windows x86_64 binaries in
%USERPROFILE%\.local\bin. The same script accepts-ReleaseChannel edgefor daily prereleases. A Nix flake builds the release programs from source on Linux and macOS arm64. - Containers The
ghcr.io/modernrelay/omnigraph-serverimage readsOMNIGRAPH_CLUSTER(an S3 URL or a mounted directory) and listens on port 8080. The deployment guide covers bearer tokens, S3 credentials, Azure writers and TLS termination at a proxy or load balancer. - Omnigraph Studio A separate desktop client connects to an Omnigraph server of v0.14.0 or later over HTTP. It shows a table per node and edge type, a relationship explorer as page, tree and canvas, a GQ query editor, branch review and merge, commit history and an agent panel. Releases include a macOS DMG for Apple silicon, Linux tarballs and a Windows zip.
- Cookbooks The cookbooks repository holds runnable projects with schemas, queries, seed data and agent skills: industry intel, pharma intel, company brain, a venture capital operating system, a beads-style work queue and a second brain. Each can be applied to inspect a working graph.
Where Omnigraph fits
Company brain
The README and website name a company brain as a main use case: organizational knowledge in one graph that every agent can query. The company brain cookbook stores claims, decisions and action items with the exact source text they rest on. A schema can require links, for example that each decision connects to the meeting where it was made, and the engine refuses writes that break that rule.
Versioned agent memory
Each agent or task writes to its own branch instead of to main. The website example shows two coding agents forking main, one adding nodes while the other deduplicates records, then a human or another agent reviewing each diff before a three-way merge. The commit graph records every change with its author, resolved on the server from the token.
Context graphs for retrieval
A context graph holds people, projects, decisions and documents and the links between them. Retrieval combines graph traversal with vector and BM25 search and fuses the results with Reciprocal Rank Fusion in one query. Query results can be returned in TOON format, which names each field once for rows that share fields, to reduce the space they take in an LLM prompt.
Development graphs for coding agents
The README lists a dev graph of issues and dependencies that coding agents read and write. The beads cookbook provides a work queue for coding agents. Agents connect through the built-in MCP endpoint or the CLI, and the bundled agent skill explains schema, query and branch rules before an agent writes a schema or a query.
Research and ML data layers
Experiments and trials can be written into branches and versioned for training and evaluation, according to the README. The pharma intel cookbook tracks trials, filings and competitors, and the industry intel cookbook follows AI and ML market signals through a signals, patterns, insights and know-how frame.
Self-hosted clusters on owned storage
A cluster bundle in Git declares graphs, schemas, stored queries and Cedar policies, and cluster plan and cluster apply deploy it to a server target. The omnigraph-server container runs against an S3 bucket or a mounted directory; the repository includes an Azure reference architecture with Container Apps, Blob Storage and a writer admission lease. Teams that do not want to operate it can join the Omnigraph Cloud preview, whose data stays exportable as Lance files. Related iThub listings: Cognee and MinIO.
Install
curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | bashReviews of Omnigraph
Be the first to share your experience with Omnigraph.
Write a review
Loading review form…

