FREE RESOURCE · FROM THE "GRAPH" POST
OmniGraph: Git-style shared memory for AI agents (setup notes)
By Hammad Yousuf · 27 October 2026
OmniGraph is an MIT-licensed graph database written in Rust that works like Git for AI agent memory. Several agents share one typed knowledge graph, each writes on its own branch, and nothing reaches main until you review it and run a three-way merge. Retrieval mixes graph, vector and full-text search in a single query.
You commented GRAPH on the post, so this is the guide: what OmniGraph is, why branchable memory matters, the setup commands and when not to use it.
At a glance · checked 27 Oct 2026
- Licence and language
- MIT · Rust
- Latest release
- v0.14.0, published 22 Oct 2026
- Storage
- Local disk or S3-compatible, in the open Lance format
- Agent access
- Built-in MCP server + TypeScript SDK
Why agents need branchable memory
- OmniGraph is aimed at long-running agents that share one typed knowledge graph, retrieving context from it and storing new context back while they coordinate.
- Instead of writing straight to main, an agent proposes changes on its own branch: one per agent or per task. You review the branch, then a three-way merge brings it in.
- When two branches clash, the merge reports the conflict and never picks a winner silently. It names the kind, such as
DivergentUpdate,DeleteVsUpdate,OrphanEdgeorUniqueViolation. - Every mutation or load is one atomic commit: if it fails, none of its changes become visible. A merge lands on the target in one atomic step too.
- History spans the whole graph: you can see each commit and the actor behind it, read an earlier commit and compare two points in time.
The example workflow: two agents, one graph
Agent A ingests papers on its own branch
It reads research papers and extracts claims into the graph, without touching main.
Agent B cleans up on a second branch
It de-duplicates entities and links each claim to its evidence, also in isolation.
Compare, review, merge
You compare each branch with main, review the changes and merge. If both agents changed the same entity, the merge reports a conflict for you to settle instead of guessing.
The README's own branch-and-merge example looks like this:
omnigraph branch create --from main agent/ingest-42
omnigraph branch merge agent/ingest-42 --into mainThis flow is our illustration of the agent-memory use case the README lists (a branch per agent or task, merged on review), not a tutorial from the docs.
Retrieval in one query
- Graph traversal: follow edges from one entity to related ones.
- Vector ANN: approximate nearest-neighbour search over embeddings.
- BM25 full-text: keyword search.
- Reciprocal Rank Fusion: blends the ranked results into one list.
All four run in one runtime, with filtering, so an agent can assemble its context in a single query instead of calling three systems.
Guardrails: schemas and policies
Typed schemas on every write
You declare node and edge types, keys and constraints (uniqueness, ranges, edge cardinality) in .pg schema files. The engine checks them on every write path, so every agent works against the same enforced model.
Cedar policies on every mutation
Cedar policies are enforced on the server for every mutation, per graph, per branch or server-wide. The server uses bearer tokens, resolves the actor from the token itself (clients cannot set it) and tracks changes for audit.
Direct access to the storage does not go through the server's authentication, so the policies protect the server path, not the bucket.
Install and connect your agent
Commands from the official README, 27 Oct 2026. We have not run them ourselves, so check the README for the current version before you paste.
Install with the script
Puts the
omnigraphCLI andomnigraph-serverinto~/.local/binfrom the published release binaries. It pipes a script from GitHub into your shell, so open the URL and read it first if you prefer.terminalcurl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | bashOr install with Homebrew
terminalbrew tap ModernRelay/tap brew install ModernRelay/tap/omnigraphGive Claude Code the OmniGraph skill
The binary ships its own agent skill (cluster mode, schema changes, data writes, branches, Cedar policy, common gotchas). Exporting it from the installed CLI keeps the skill in step with your version.
terminalomnigraph skill export ~/.claude/skills/omnigraph --forceOlder CLI with no skill command?
This installs the copy from the default branch instead:
terminalnpx skills add ModernRelay/omnigraph@omnigraphConnect your agent over MCP
The server has a built-in MCP endpoint at
/mcp. Point your agent at it directly, or runomnigraph mcp --target NAMEwith your configured server target. Setup details are in the MCP guide: github.com/ModernRelay/omnigraph/blob/main/docs/user/operations/mcp.mdOr use the TypeScript SDK
The npm package is
@modernrelay/omnigraph. The 0.14 server needs the 0.14 client contract, so check the README's client compatibility notes before you pick a package version.Start from seed data
The cookbooks repo has ready-to-run graphs with real seed data (a company brain, a VC operating system, pharma and industry intel): github.com/ModernRelay/omnigraph-cookbooks
When to use it, and when not to
Use it when
- Several agents read and write the same knowledge and you want their changes reviewable before they land.
- You need one schema every agent must respect, checked on every write.
- You want graph, vector and full-text retrieval in one place, plus a history of who changed what.
Hold off when
- You need production stability today. The repo was created in April 2026 and is on v0.14, so read the README and the 0.14 upgrade notes before you depend on it.
- You need transactions across graphs. Each graph's storage root is its consistency boundary, and cross-graph transactions are not supported.
- You want a hosted service. OmniGraph Cloud is in private preview with a waitlist, so for now you run it yourself.
Official links
- OmniGraph on GitHub (MIT)github.com/ModernRelay/omnigraph ↗
- Quickstartgithub.com/ModernRelay/omnigraph/blob/main/docs/user/quickstart.md ↗
- MCP guidegithub.com/ModernRelay/omnigraph/blob/main/docs/user/operations/mcp.md ↗
- Cookbooks with seed datagithub.com/ModernRelay/omnigraph-cookbooks ↗
- TypeScript SDK on npmwww.npmjs.com/package/@modernrelay/omnigraph ↗
- 0.14 highlights and upgrade actionsgithub.com/ModernRelay/omnigraph/blob/main/docs/releases/v0.14.0-overview.md ↗
Sources checked
The facts on this page were checked against the OmniGraph repository and its docs on 27 October 2026. We did not install or run OmniGraph for this guide. It is a young project that changes fast, so treat its README as the final word.
- MIT licence, Rust, repo created 10 Apr 2026, latest release v0.14.0 on 22 Oct 2026 (GitHub API, 27 Oct 2026). Source ↗
- Branch per agent or task, three-way merge, typed .pg schemas enforced on every write, graph + vector ANN + full-text + Reciprocal Rank Fusion in one runtime, Cedar on every mutation, local or S3-compatible storage in Lance, MCP server and TypeScript SDK, install commands. Source ↗
- One mutation or load is one atomic commit, merges land in one atomic step, history with actors, cross-graph transactions not supported, storage access bypasses server auth. Source ↗
- Merge conflicts are reported as structured kinds and a winner is never picked silently. Source ↗