engram
https://github.com/Gentleman-Programming/engram
SQLite + FTS5; agent decides what to save (not firehose capture). Single Go binary, no CGO, no Node/Python/Docker dependencies. HTTP API + MCP + CLI + TUI; optional cloud sync with local-source-of-truth.
At a glance
- Type
- Static Go binary, agent-agnostic
- Tier
- T2
- Section
- Claude Code memory mechanisms
- Created
- 2026-02
- Latest release
- v1.15.8 2026-05-05
- License
- MIT
- GitHub
- 3.2k★ +1.1k/mo Go
- Pricing
- free / open source
- Funding
- not applicable — not commercial
Taxonomy
- storage
- relational
- retrieval
- exact-match
- persistence
- long-term
- update
- agent-controlled
- unit
- fact
- governance
- user-controllable
- conflict
- append
When to use
Optimised for: Claude-Code-native + MCP-portable memory
Anti-fit: not for non-Claude-Code clients (some are MCP-portable)
Pros & cons
Pros
Static Go binary, agent-agnostic — works across Claude Code, Gemini CLI, Codex without runtime deps.
Cons
Smaller community; SQLite + FTS5 backend lacks vector recall vs other options.
Claims & capabilities
Works across Claude Code, Gemini CLI, Codex, Cursor, Windsurf with no runtime deps.
Technical surface
- API surface
- searched not found
- Backend storage
- searched not found
- Deployment
- local — command-line tool for Claude Code context
- Embedding model
- searched not found
- Multi-tenancy
- searched not found
- MCP
- native (first-party)
- A2A
- not supported
- OpenTelemetry
- no
Similar systems
Other claude code memory mechanisms in the catalog, ranked by inbound references.
- Official MCP Memory server T1
Knowledge-graph-based persistent memory MCP server — the canonical reference implementation. npx -y @modelcontextprotocol/server-memory ; configurable via MEMORY_FILE_PATH .
- Anthropic Auto Dream T1
Background sub-agent in Claude Code that periodically scans ~/.claude/projects/<project>/memory/ + recent JSONL transcripts via grep, prunes stale notes, deduplicates, resolves contradictions, converts relative dates to absolute timestamps, and rewrites MEMORY.md (kept under 200 lines). Triggers automatically when 24+ hours elapsed AND 5+ sessions completed; manually via /dream.
- Claude Code auto-memory T1
Persistent file-based memory at ~/.claude/projects/<project>/memory/ with a MEMORY.md index plus typed memory files (user / feedback / project / reference). Loaded into context across sessions.
- claude-brain T2
Claude Code plugin packaging of Memvid (see Dedicated memory layers). Wraps the Memvid .mv2 single-file store as a slash-command-installable plugin so per-project memory becomes a git-committable file inside the repo.
- Claude-CursorMemoryMCP T2
FastAPI server. RBAC + API-key auth, encryption, backup/recovery, embedding pipeline with deduplication. Only server in this list with role-based access control over pgvector.
- claude-mem T1
Hooks into Claude Code's session lifecycle; compresses tool outputs into ~500-token observations via Claude's agent SDK. SQLite + FTS5 with optional Chroma vector. "Endless Mode" compresses in-flight to extend session length. Captures what the agent did , not just what the user typed.
Related systems
References (2)
- Anthropic Claude (foundation models) depends on at runtime — adjacent-infrastructure cell: requires Claude Code or MCP client; BYO storage
- Model Context Protocol (MCP spec) depends on at runtime — adjacent-infrastructure cell: requires Claude Code or MCP client; BYO storage