Auditable, compression-driven memory infrastructure for AI agents
Project description
Engrami
The transparent, verifiable memory layer for AI agents.
Graph + vector + relational memory in one self-hostable datastore — that your team can see, search, and trust. Plug it into any agent as an MCP server or call it from the SDK.
Why Engrami
Agents forget everything between sessions. Bolt-on memory tools (mem0, supermemory) fix recall — but they're black boxes: you can't see what's stored, why a fact changed, or what a change might break. For teams shipping real agents, that's a non-starter.
Engrami is built around a different promise: memory as a glass box.
| Engrami | |
|---|---|
| One datastore | PostgreSQL + pgvector (vectors) + Apache AGE (native openCypher graph) + relational + a hash-chained journal. Neo4j optional. No separate vector DB. |
| Transparent | A live graph UI with search + filters; full provenance + journal timeline per fact; a plain-language change-log of every consolidation and forgetting decision. |
| Verifiable & deterministic | BLAKE3 hash-chained audit log, per-retrieval verification certificate, an input-hashed extraction cache (same input → same memory). |
| Active, not passive | A KG intelligence layer warns about cross-domain impacts at memory-time ("this fix touches a node on the checkout-latency path"). |
| Self-hosted | Runs entirely in your VPC. Nothing leaves. Licensed via Cryptlex. |
60-second quickstart
# 1. Start the stack (Postgres + pgvector + Apache AGE, and the API)
docker compose -f docker/docker-compose.yml up -d
# 2. Install the SDK/CLI
pip install -e . # or: pip install engrami
# 3. Initialize + store + recall
engrami init --tenant demo
engrami observe "Billing uses Postgres for ACID; the pricing call has a 200ms budget." \
--tenant demo --source user_direct
engrami query "why postgres for billing?" --tenant demo
# 4. See it — the glass box
open http://localhost:8000/viz?tenant=demo
SDK:
from engrami import EngramiClient
async with EngramiClient(tenant="demo") as mem:
await mem.add("We tried Redis price caching; it caused stale-price incidents.")
ctx = await mem.search("can we cache prices?")
print(ctx["context"]) # LLM-ready facts
print(ctx["advisories"]) # proactive impact/contradiction warnings
print(ctx["certificate"]) # audit receipt
MCP (shared in-cluster server):
engrami-mcp --transport http --port 8765 # agents connect to http://host:8765/mcp
What's inside
- Storage —
GraphStoreinterface; defaultPostgresStore(pgvector + tsvector + recursive-CTE) orAgeStore(native openCypher via Apache AGE);Neo4jStoreoptional. - Memory pipeline — security gate → multi-pass KG extraction (facts → entities/typed relations) → embeddings → bi-temporal nodes + edges, all journaled.
- Retrieval — hybrid vector + BM25 + RRF + multi-hop graph expansion, with a verification certificate and decompression-depth control.
- Compression — MERGE / ABSTRACT / PRUNE / ENCODE with pack guardrails, every action in the change-log.
- Intelligence — impact / dependency / contradiction advisories from the KG.
- Surfaces — CLI (
engrami), MCP server (engrami-mcp, stdio or Streamable HTTP), HTTP API (engrami-api), Python SDK (EngramiClient).
Documentation
- MCP connector guide — connect an agent (HTTP or stdio), config, tools, the loop.
- Python SDK guide — install, quickstart, every method with examples + return shapes.
- Getting started (engineers) — install + an example for every CLI command, MCP tool, and SDK method.
- For executives — value, differentiators, compliance.
- Deploy in your VPC — step-by-step, with Helm + Terraform.
- Architecture · MCP tool reference · Domain packs
License
Engrami is proprietary software © Engrami LLP, licensed under the Engrami LLP Enterprise Software License Agreement (see LICENSE). It is licensed, not sold; production use requires a valid License Key issued via Cryptlex. Contact your Engrami account team for a Subscription. See DEPLOYMENT_VPC.md for activation in your VPC.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file engrami-0.3.0.tar.gz.
File metadata
- Download URL: engrami-0.3.0.tar.gz
- Upload date:
- Size: 226.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8126ec53a3a747156489399e229a0bd2282be2ab51c5bcce8da44abf982cab4
|
|
| MD5 |
da4950aa3cbecdfed75e68bf9daee229
|
|
| BLAKE2b-256 |
f0a47fbf4fcad2ba91d7cf472b3ae9ec04f147c3863518ee412c8c699f9ee480
|
Provenance
The following attestation bundles were made for engrami-0.3.0.tar.gz:
Publisher:
publish.yml on GGChamp85/engrami-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
engrami-0.3.0.tar.gz -
Subject digest:
a8126ec53a3a747156489399e229a0bd2282be2ab51c5bcce8da44abf982cab4 - Sigstore transparency entry: 1729189410
- Sigstore integration time:
-
Permalink:
GGChamp85/engrami-mcp@184de8c1d65c0425dfc406add4526d3349df2aae -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/GGChamp85
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@184de8c1d65c0425dfc406add4526d3349df2aae -
Trigger Event:
release
-
Statement type:
File details
Details for the file engrami-0.3.0-py3-none-any.whl.
File metadata
- Download URL: engrami-0.3.0-py3-none-any.whl
- Upload date:
- Size: 178.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e01e9e07713b18f2b0b2a2c215c3e457e18a7eef12b792be423d1a128075e14
|
|
| MD5 |
c1b3186c64e4bd227a966cff09f6e9b6
|
|
| BLAKE2b-256 |
c56f52633177cc9bc1e4709c7de537dc9b5ee48bd79d1a99065ae381cb076e4f
|
Provenance
The following attestation bundles were made for engrami-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on GGChamp85/engrami-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
engrami-0.3.0-py3-none-any.whl -
Subject digest:
3e01e9e07713b18f2b0b2a2c215c3e457e18a7eef12b792be423d1a128075e14 - Sigstore transparency entry: 1729189563
- Sigstore integration time:
-
Permalink:
GGChamp85/engrami-mcp@184de8c1d65c0425dfc406add4526d3349df2aae -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/GGChamp85
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@184de8c1d65c0425dfc406add4526d3349df2aae -
Trigger Event:
release
-
Statement type: