Engram
by Gentleman-Programming
Engram is a persistent memory system for AI coding agents, built as a single Go binary with zero external dependencies. It solves the fundamental problem that AI agents forget everything when a session ends — Engram gives them a brain. Under the hood, it uses SQLite with FTS5 full-text search to store, index, and retrieve memories instantly. The architecture is dead simple: your agent communicates over MCP stdio to the Engram binary, which persists observations to a single SQLite file at ~/.engram/engram.db. No Node.js, no Python, no Docker required. Engram exposes 14 MCP tools covering the full memory lifecycle — save observations with structured What/Why/Where/Learned fields, search memories with full-text search, browse chronological timelines, get session context, and manage session boundaries. It works with every major AI coding agent that supports MCP: Claude Code, OpenCode, Gemini CLI, Codex, VS Code Copilot, Cursor, Windsurf, and Antigravity. Setup is a one-liner for most agents. Beyond MCP, Engram provides a CLI for direct memory management, an HTTP API on port 7437 for custom integrations, and a terminal UI (TUI) with Catppuccin Mocha theme, vim-style navigation, and full-text search. Git Sync lets you share memories across machines using compressed chunks that avoid merge conflicts. With 1,800+ GitHub stars, Engram has quickly become one of the most adopted memory solutions in the MCP ecosystem.
Installation
Key Features
- ✓14 MCP tools for full memory lifecycle — save, search, timeline, session management, and statistics
- ✓SQLite + FTS5 full-text search for instant memory retrieval with zero external dependencies
- ✓Agent-agnostic: works with Claude Code, Gemini CLI, Codex, VS Code, Cursor, Windsurf, and any MCP client
- ✓Terminal UI (TUI) with vim-style navigation, Catppuccin Mocha theme, and interactive search
- ✓Git Sync for sharing memories across machines using compressed, conflict-free chunks
- ✓Structured observations with What/Why/Where/Learned fields and topic key suggestions
Use Cases
- →Persist architecture decisions and debugging insights across coding sessions so your agent never re-discovers the same fix
- →Build project-specific memory that grows smarter over time — your agent learns your codebase conventions
- →Share accumulated agent knowledge across machines via Git Sync for consistent context everywhere
- →Track session history and timelines to understand how your agent approached complex multi-step tasks
- →Replace scattered CLAUDE.md notes with structured, searchable memory that the agent queries automatically