Engram by Gentleman Programming MCP

Engram (Gentleman Programming)

Persistent memory for AI coding agents in a single Go binary: an MCP server on SQLite with full-text search that remembers your project across sessions

  • 7,553 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • The Claude Code plugin installs session hooks that run scripts and call curl on your machine
  • Memory entries may hold code fragments and project decisions, and with Engram Cloud on they replicate to a server
All reasons and checks

gentleman-programming/engram

Install

Manual install

brew install gentleman-programming/tap/engram

Installs the latest stable release. Windows, Linux and source build methods are in the installation docs.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The Claude Code plugin installs session hooks that run scripts and call curl on your machine
  • Memory entries may hold code fragments and project decisions, and with Engram Cloud on they replicate to a server

This is third-party code. Review the repository files before installing.

What it does

Engram saves what an agent learned during a session and feeds it into later ones. The whole project is one Go binary: data sits in SQLite with an FTS5 index in ~/.engram/engram.db and is exposed through console commands, a local HTTP API, MCP over stdio and the engram tui terminal interface. The agent gets MCP tools for saving entries, search, timeline, session tracking, review and diagnosis. When entries conflict, Engram flags the conflict so the agent can compare them. Memory is bound to a project: an explicit project wins, then the ENGRAM_PROJECT variable, then the project is detected from the current directory. engram setup writes the right configuration for 14 agents, including Claude Code, Codex, Cursor, Gemini CLI, OpenCode and Windsurf. Claude Code also gets a marketplace plugin with session hooks and recovery after context compaction. Memory stays on your computer, and moving it between machines is done through Git Sync or the optional Engram Cloud.

Who it is for. For developers who re-explain the project to an agent every session and want to keep that memory on their own disk rather than in someone else's service.

Good fit when

  • An agent in Claude Code forgets decisions every time, and you want it to save them through MCP tools and find them by search
  • You work with several agents, such as Codex and Cursor, and want shared memory in one local SQLite file
  • After context compaction the agent loses the thread, and the Claude Code plugin with compaction recovery brings it back
  • You need memory per repository, and project detection by directory or ENGRAM_PROJECT provides it
  • A team shares accumulated entries through Git Sync or reviews them in the engram tui terminal interface

Not a fit when

  • You need a link graph and vector semantic search: Engram builds an FTS5 full-text index
  • A CLAUDE.md or AGENTS.md file with a few project rules is enough and no separate store is needed
  • Your agent has no MCP and is not on the support list, and manual setup does not suit you
  • The Claude Code plugin needs jq and curl, which are missing and cannot be installed: only the MCP fallback without hooks is available

Example request

Save to Engram memory the decision that this project uses SQLite rather than Postgres, and remind me of it the next time we work on the database

MCP

Transport
stdio
Authentication
not required

Environment variables

ENGRAM_PROJECT
Name of the project the memory belongs to when the directory does not identify it

Limitations

  • First install the engram binary, for example through Homebrew with brew install gentleman-programming/tap/engram. Windows, Linux and source builds are covered in the installation docs.
  • The Claude Code marketplace plugin installs only hooks, scripts and the Memory Protocol skill. The MCP server is registered by engram setup claude-code.
  • The plugin hooks need jq and curl on PATH. Older Claude Code versions may reject the plugin manifest, and claude update fixes that.
  • Mutating Codex tools require a compatible running core, otherwise it must be upgraded.
  • Engram Cloud is optional and project-scoped. The license is MIT, and local use needs no keys or paid accounts.

How to disable. Remove the MCP registration in the client, for example claude mcp remove engram, and uninstall the plugin with claude plugin uninstall engram. Entries stay in ~/.engram/engram.db, so delete that folder if you no longer need the memory.

FAQ

How do I install Engram in Claude Code?

Install the binary with brew install gentleman-programming/tap/engram and run engram setup claude-code. The command updates the marketplace plugin and registers the MCP server; then restart Claude Code. The plugin needs jq and curl.

Where does Engram keep memory entries?

Locally, in the SQLite file ~/.engram/engram.db with an FTS5 index. The local database is authoritative. Git Sync exports portable compressed chunks from it, and Engram Cloud is optional.

Which agents does Engram work with?

engram setup covers 14 agents: Claude Code, Pi, OpenCode, Gemini CLI, Codex, Antigravity CLI, Windsurf, Qwen Code, Kiro, Cursor, VS Code (Copilot), Kilo Code, Kimi Code and CommandCode. Any other MCP agent connects manually.

How is Engram different from Claude-Mem?

Engram is a standalone Go binary that serves fourteen agents through MCP and one shared SQLite database. Claude-Mem ships as a Claude Code plugin and saves observations from its sessions.

How do I check that Engram is installed correctly?

engram doctor runs read-only diagnostics. To browse memory use engram tui: j and k move through the list, / starts a search and Enter opens an entry.

Discussion

No questions or reviews yet.

Official

Local persistent memory for coding agents: hooks record every session, and Claude Code, Codex or Cursor recall past decisions through 54 MCP tools

MCP serverExtended access29.8KRepository stars
Official

Long-term memory for agents: a remote MCP server, plugins for Claude Code, Cursor and Codex, and an API for your own apps

MCP serverExtended access31.4KRepository stars

Shared local memory for AI agents: Claude Code, Codex, Cursor and others find the agreements of past sessions in it and record new ones

CLIBroad access2.1KRepository stars
Official

Local memory for agents: stores conversations and project files verbatim and retrieves them with semantic search over MCP

MCP serverExtended access59.7KRepository stars

Self-hosted long-term memory for agents: semantic search, a knowledge graph and autonomous consolidation over MCP and a REST API

MCP serverExtended access2KRepository stars

Long-term memory for AI agents: Markdown files as the source of truth, a SQLite index as a cache, shared by Claude Code, Codex and others

CLIExtended access4.6KRepository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
Engram by Gentleman Programming (this entry)nonot required7,553
Claude-Memno102,374a Claude Code plugin with session observations, while Engram is a shared binary for fourteen agents
Mem0no67,710a memory layer with plugins and an SDK, with storage and API configured separately
Basic Memorynonot required4,323keeps memory in Markdown files with a link graph, while Engram holds it in one SQLite file

README in short

The page opens with a banner: a tagline about persistent memory, a list of 14 supported agents and a diagram running from the agent through MCP to SQLite. Blocks follow on binding memory to a project, local storage with Git Sync and the cloud, the terminal interface and extra components. The getting started section gives the Homebrew install and a table of setup commands by agent. The page ends with the storage compatibility check, engram compatibility, which only reads metadata.

README badge

Report a problem

Foxx AIEngram by Gentleman Programming
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.