Engraphy v0.1.0
Engraphy is a self-hosted memory engine for AI agents. It stores what an
agent learns as a typed knowledge graph on Postgres + pgvector, and speaks the
Model Context Protocol, so any MCP client (a VS Code extension, a desktop app,
another agent) can use it over HTTP.
It exists to replace the reference MCP memory server's flat-JSON, single-user,
stdio model with something that survives concurrency, paraphrase, duplicates,
and years of accumulated memory.
What is in this release
- A typed memory graph. Memories are typed nodes (
fact,decision,
person,event) joined by typed edges (involves,references,
supersedes). The types, their attribute schemas, and the rules for which
edges may connect which types are declared per space in a pack and
enforced in Postgres. - Writes that deduplicate themselves. Every write is embedded and banded
against existing memory: a near-verbatim restatement auto-merges, a genuinely
new but related fact is kept and linked, and a borderline case parks as a
pending verdict for the caller to resolve. Nothing is silently absorbed. - Hybrid retrieval.
searchfuses a vector leg and a Postgres full-text leg
with Reciprocal Rank Fusion;traversewalks the edges. - Isolation the database enforces. Spaces and principals are separated by
Row-Level Security under aNOBYPASSRLSrole, not by application checks that
can be forgotten. - An operator CLI and an MCP tool surface, covering everything from
bootstrapping a space to minting tokens, applying packs, and verifying
restores.
Running it
Requires Docker with Compose. From a checkout of this tag:
cp deploy/.env.example .env # then edit, or generate the two passwords:
printf 'POSTGRES_PASSWORD=%s\nENGRAPHY_APP_ROLE_PASSWORD=%s\n' \
"$(openssl rand -hex 16)" "$(openssl rand -hex 16)" > .env
docker compose up -d # first boot downloads the ~523 MB embedding model
docker compose --profile admin run --rm admin \
engraphy-admin space create --id personal --display-name "My Memory" --principal me
docker compose --profile admin run --rm admin \
engraphy-admin pack apply packs/starter/pack.yaml --space personal
docker compose --profile admin run --rm admin \
engraphy-admin token create --space personal --principal me \
--client-name my-editor --role readwriteThe MCP endpoint is then http://127.0.0.1:8000/mcp/ (keep the trailing
slash). Put a TLS-terminating reverse proxy in front before exposing it. The
bearer token prints once.
Note:
up.sh/provision.shwrap this sequence and wait for/healthz.
They landed after this tag, so use them frommainrather than from the
v0.1.0 tarball.
Documentation
License
Source-available under the Business Source License 1.1. You may read,
modify, redistribute, self-host, and use Engraphy in production as the memory
layer for your own applications and agents. You may not offer Engraphy itself
to third parties as a hosted or managed service before the Change Date
(2030-08-22), when it converts to Apache-2.0. See
LICENSE.
Status
v0.1.0, one maintainer. The schema and enforcement kernel, the engine
behaviours (dedup, hybrid retrieval, traversal), the pack system, and the
operator CLI are all in the shipped engine.