engram
Explicit, zero-junk, correctable memory for coding agents — self-hosted and OAuth-secured, over the Model Context Protocol.
- v0.8.3
- Apache-2.0
- MCP
- Self-hosted
What it is
Coding agents start every session blank. engram is a memory store they read and write over MCP — so the decisions, conventions, and gotchas you've already established persist across sessions, repos, and tools instead of being re-explained every time.
Why it's different
Most agent-memory tools auto-extract everything and quietly fill with transient chatter you can't trust. engram inverts that: the agent stores only what's worth keeping, every record is editable and deletable, and each caller is OAuth-verified and isolated to their own memories. You host it yourself.
docker run -d \ -p 8080:8080 \ -e ENGRAM_QDRANT_ADDR=host.docker.internal:6334 \ -e ENGRAM_OPENAI_BASE_URL=http://host.docker.internal:4000 \ -e ENGRAM_EMBED_MODEL=ollama/bge-m3 \ ghcr.io/seanb4t/engram:latestNeeds Qdrant + an embedder first — see the Quickstart.
A real operator console — not just an API
Start here — pick your path
See it work
// the agent stores something worth keeping
store_memory({ content: "We use jj, never push to main", scope: "repo:engram", category: "convention" })
// a different session, days later — semantic recall
search_memory({ query: "version control workflow", scope: "repo:engram" })
→ "We use jj, never push to main" Why engram
Explicit & zero-junkNo auto-extraction noise — the store never accretes transient chatter.CorrectableEvery memory is editable and deletable — the store stays correct.OAuth-secured & isolatedWrites attributed to the verified caller; per-actor isolation.Self-hostedA small Go server backed by Qdrant — no vendor lock-in.