Skip to content

engram

engram

a cognitive memory system that actually remembers things.

starts with one sqlite file for local installs, can switch to postgres for multi-client deployments, and keeps hybrid retrieval that fuses five signals, memory layers that model how brains actually work, and a neural visualization that shows the whole thing firing in real time.

98.1% R@5 on LongMemEval (ICLR 2025) — highest published score, beating MemPalace (96.6%), Emergence AI (86%), and every other memory system benchmarked.

what it does

  • hybrid retrieval — HNSW dense + BM25 + entity graph BFS + Hopfield associative pattern completion, fused with intent-weighted reciprocal rank fusion, cross-encoder reranking, deep MLP reranking
  • memory layers — working, episodic, semantic, procedural, codebase. memories promote upward when useful, decay if unused
  • entity graph — extracts people, tools, projects from every memory. multi-hop traversal via recursive SQL CTEs
  • session continuity — active MCP sessions now maintain a structured handoff packet with recent work, decisions, open loops, touched entities, and search history. new sessions can call resume_context instead of reconstructing state from raw logs
  • memory intelligence — query briefing, retrieval comparison, and recent hotspot surfacing help you see what matters without manually stitching together raw results
  • 83 MCP tools — plugs into Claude Code or any MCP client. docker-ready
  • multi-backend embeddings — local (MLX/CPU), Voyage AI, OpenAI, Google Gemini. auto-detects from model name
  • web dashboard — neural map, search, continuity, intelligence, analytics, cognition, drift detection, and more in one surface

install

pip install engram-memory-system

or from source:

git clone https://github.com/raya-ac/engram.git
cd engram && pip install -e .

supported by

system what
Claude Code native MCP integration
Any MCP client 83-tool JSON-RPC server
REST API 57 HTTP endpoints
CLI 16 commands
Docker single container deployment
Python API direct library usage