Cognitive memory for coding agents: hybrid recall, remember/forget, knowledge graph, nightly dreams.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
An engram is the hypothetical physical trace of memory in neural tissue β the biochemical change that encodes what we've learned.
Local-first cognitive memory system that transforms raw LLM conversation history into structured, consolidated knowledge. Unlike traditional conversation search (which treats sessions as documents to retrieve), Engram mimics human memory architecture: episodic memories are captured, consolidated into semantic knowledge during "dream state" processing, and emergent connections surface through graph analysis β much like how a Zettelkasten's backlinks reveal Maps of Content that no individual note anticipated.
Designed as an MCP server for Claude Code and other LLM agents, with CLI and web visualization interfaces.
Prerequisites
node --version)engram sync to ingest your conversation history from ~/.claude/projectsremember, and the web visualizer work without one.Quick start β three commands
engram setup walks a bare install to running and ends by telling you which LLM tier did
the extraction (extraction smoke: tier=ollama memories=3). Every step prints what it did and
the manual command it stands for, so nothing is hidden. It installs all three services β
the MCP HTTP daemon, the nightly dream timer and the web visualizer (port 3001, loopback) β by
default (decision #62); --no-daemons or --daemons=mcp,dream narrows that, --host claude
narrows host registration, --no-sync / --sync skip or force indexing, --no-smoke skips the
extraction, --yes answers every question for scripts (the Linux loginctl enable-linger
prompt is never implied), --json prints the result. With no LLM provider configured the
dream timer is still installed and setup ends with [warn] dream timer installed but no LLM tier is reachable β¦ naming the variables to set β exit 0; only a required doctor failure (or a
failed init) exits 1. Later, engram doctor --fix repairs whatever is red β the service env
file, a model cache inside node_modules, a missing Ollama model (asked first), a stopped MCP
daemon, an unregistered host β printing the manual equivalent of each; a second run says
nothing to fix. See CLI and docs/api-reference.md.
The same, by hand
engram mcp install <host> edits the host's own config for you β ~/.claude.json
(--project: .mcp.json), ~/.codex/config.toml, ~/.cursor/mcp.json, or deploys the
Hermes plugin β atomically, with the previous content kept in <file>.bak, never touching
other servers, and re-running is a no-op. It prefers the HTTP daemon
(http://127.0.0.1:9907/mcp) when GET /health answers and falls back to stdio
(node β¦/dist/interfaces/cli/index.js mcp, which bridges to the daemon itself once one runs),
printing which and why; --transport http|stdio overrides, --dry-run shows the path and diff.
A daemon token is referenced as an environment variable (${ENGRAM_MCP_TOKEN} /
bearer_token_env_var / ${env:ENGRAM_MCP_TOKEN}), never written; engram mcp status reports
every host, whether it points at this install, whether its daemon answers and whether the
variable resolves. See Registering hosts below.
From source
Either way, continue with engram setup β or step by step:
engram doctor ends with an extraction smoke line: one real extraction over your most recent
conversation (or a bundled fixture when nothing is indexed yet) under a 60 s budget with a
capped input, reporting tier=<ollama|openai|openrouter|anthropic> memories=N or every tier's
reason when none answers. Memories it extracts from a real conversation are written like any
other, stamped source=smoke (find them with engram memories list, remove them with forget);
the fixture is never written. --no-smoke skips it; --strict exits 1 when any line is not
[ok] (CI).
First run downloads models once.
engram init(or the first search) pulls several hundred MB of model weights into~/.local/share/engram/models(or$ENGRAM_MODEL_CACHE_DIR/$HF_HOME/hub), where they survive reinstalls and upgrades; see Model cache. SetENGRAM_RERANK_ENABLED=falseto skip the reranker model.
Install as a Claude Code plugin (recommended)
No clone, no absolute paths. In Claude Code:
This repo is its own marketplace (.claude-plugin/marketplace.json); the plugin
(.claude-plugin/plugin.json) runs the published npm package as a stdio MCP server β
npx -y @devinmlowe/engram@<version> mcp, version pinned to the release β and adds the
/engram:recall, /engram:remember, /engram:explore-graph, /engram:reflect and
/engram:engram-connect commands (bundled from commands/; their tools are
mcp__plugin_engram_engram__<tool>). /mcp should list engram with 16 tools; the first
recall downloads the embedding model once (see the note above). The plugin updates through
the marketplace (/plugin update engram@engram after a release); engram update keeps
handling the CLI, daemons and the Hermes plugin.
The very first start is slow. The first
npxrun installs the package and its prebuilt native modules into the npm cache β once per pinned version, then it is a cache hit. If Claude Code reports the server timed out during that install, raise its startup timeout (milliseconds):MCP_TIMEOUT=120000 claude. Two warm paths:npm install -g @devinmlowe/engramfirst, so the package (andengram doctor/engram init) is already on the machine; or run the HTTP daemon (scripts/install-mcp-daemon.sh install, below) βengram mcpthen bridges to it and the host process never opens the database or loads the model (see Transports).
Registering hosts (engram mcp install)
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/engram-4)<a href="https://allmcps.com/mcp/engram-4"><img src="https://allmcps.com/api/badge/engram-4?style=directory" alt="Engram on AllMCPs" /></a>