Skip to content

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.

Run it
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:latest

Needs 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"  convention · score 0.91

Why engram