Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Engram

by devinmloweversion 0.5.0i★ –iRuns on your computer
Registry nameio.github.devinmlowe/engram

Install

Overview

Description from the maker (original English)

Cognitive memory for coding agents: hybrid recall, remember/forget, knowledge graph, nightly dreams.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Search & AI memory
  • You need to fill in: ENGRAM_MCP_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ENGRAM_DB_PATH, ENGRAM_MCP_PORT, ENGRAM_MCP_TOKEN, ENGRAM_MCP_STANDALONE

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "engram": {
      "command": "npx",
      "args": [
        "-y",
        "@devinmlowe/engram",
        "mcp"
      ],
      "env": {
        "ENGRAM_DB_PATH": "your-value",
        "ENGRAM_MCP_PORT": "your-value",
        "ENGRAM_MCP_TOKEN": "your-value",
        "ENGRAM_MCP_STANDALONE": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add engram --env ENGRAM_DB_PATH=your-value --env ENGRAM_MCP_PORT=your-value --env ENGRAM_MCP_TOKEN=your-value --env ENGRAM_MCP_STANDALONE=your-value -- npx -y @devinmlowe/engram mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "engram": {
      "command": "npx",
      "args": [
        "-y",
        "@devinmlowe/engram",
        "mcp"
      ],
      "env": {
        "ENGRAM_DB_PATH": "your-value",
        "ENGRAM_MCP_PORT": "your-value",
        "ENGRAM_MCP_TOKEN": "your-value",
        "ENGRAM_MCP_STANDALONE": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "engram": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@devinmlowe/engram",
        "mcp"
      ],
      "env": {
        "ENGRAM_DB_PATH": "your-value",
        "ENGRAM_MCP_PORT": "your-value",
        "ENGRAM_MCP_TOKEN": "your-value",
        "ENGRAM_MCP_STANDALONE": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ENGRAM_DB_PATH env
    SQLite database path (default: /engram.db, i.e. ~/.local/share/engram/engram.db)
  • ENGRAM_MCP_PORT env
    Port of the optional engram HTTP daemon to bridge to (default 9907)
  • ENGRAM_MCP_TOKEN secret env
    Bearer token forwarded to the HTTP daemon when it requires one
  • ENGRAM_MCP_STANDALONE env
    Set to 1 to never bridge: always run the full server in-process

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account devinmlowe, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7249 servers in this category
  • Published to the registry more recently than 46% of the other 7249 servers in this category
  • Basic checks equal to or better than 100% of the other 7249 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Engram safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ENGRAM_MCP_TOKEN

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.5.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated today
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated last month
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Engram

*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.

Install & first run

Prerequisites

  • Node.js 22 or newer (node --version)
  • macOS, Linux, or Windows for the CLI, MCP server, and web visualizer. Scheduled background consolidation ships an installer for each (launchd, systemd user timer, Task Scheduler); see the platform matrix below.
  • Claude Code if you want engram sync to ingest your conversation history from ~/.claude/projects
  • At least one LLM provider for extraction and dream consolidation (see Configuration). Search, remember, and the web visualizer work without one.

Quick start — three commands

npx @devinmlowe/engram preflight    # is this node/platform/arch/libc covered by prebuilt native modules? (fix per OS if not)

npm install -g @devinmlowe/engram # puts engram on your PATH; the postinstall hook runs the same preflight engram setup # doctor → init → sync (asked) → register every host present → install the three services → doctor --fix → one real extraction → summary

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 claude           # registers engram with Claude Code (codex | cursor | hermes | --all); restart the host

engram mcp install 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 .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

git clone https://github.com/devinmlowe/engram.git

cd engram node scripts/preflight.cjs # optional: the native-dependency verdict before anything is installed npm install # runs the same preflight as postinstall, then builds via the "prepare" script npm link # puts engram on your PATH (or run node dist/interfaces/cli/index.js directly)

Either way, continue with engram setup — or step by step:

engram preflight     # prebuilt / compiled locally / unsupported per native module, with the fix for this OS

engram doctor # node, platform/arch, native modules, model cache, ollama tier, llm providers, data dir, env file, install path, mcp daemon, hosts, extraction smoke — all [ok]? engram doctor --fix # apply the known remediations (env file, durable model cache, ollama pull with confirmation, start a stopped daemon, register a host) and re-check engram init # creates engram.db in the data dir (default ~/.local/share/engram; see Configuration) and downloads the embedding model engram sync # index conversations from ~/.claude/projects (optional) engram search "what did I decide about caching" engram mcp install --all # from a checkout: register every host present (~/.claude, ~/.codex, ~/.cursor, ~/.hermes) scripts/install-mcp-daemon.sh install; scripts/install-daemon.sh install; scripts/install-visualizer.sh install # the three services (what setup runs)

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= 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.

Set ENGRAM_RERANK_ENABLED=false to skip the reranker model.

Install as a Claude Code plugin (recommended)

No clone, no absolute paths. In Claude Code:

/plugin marketplace add devinmlowe/engram

/plugin install engram@engram

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@ 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__ ). /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 npx run 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/engram first, so the

package (and engram doctor/engram init) is already on the machine; or run the HTTP daemon

(scripts/install-mcp-daemon.sh install, below) — engram mcp then bridges to it and the host

process never opens the database or loads the model (see Transports).

Registering hosts (`engram mcp install`)

engram mcp install claude            # ~/.claude.json  (--project: ./.mcp.json)

engram mcp install codex # ~/.codex/config.toml (--project: ./.codex/config.toml) engram mcp install cursor # ~/.cursor/mcp.json (--project: ./.cursor/mcp.json) engram mcp install hermes # deploys interfaces/hermes-plugin to ~/.hermes (+ profiles that already have it) engram mcp install --all --dry-run # every host whose config dir exists; print path + unified diff, write nothing engram mcp status # registered? this install? daemon answering? ENGRAM_MCP_TOKEN resolving? engram mcp uninstall codex # removes only the engram entry; .bak keeps the previous content

Decisions: HTTP when the daemon answers /health, else stdio (#51); the token is referenced by environment variable and never written unless you pass --inline-token (#52). With the Claude Code plugin installed, mcp install claude skips the user-scope entry (it would register the server twice) unless --force; mcp status lists the plugin as a registered Claude host. A GUI-launched host does not inherit a fish/zsh login shell, so when the daemon requires a token mcp status prints the platform fix (launchctl setenv ENGRAM_MCP_TOKEN … on macOS, ~/.config/environment.d/ on Linux, setx on Windows). No host process is restarted, and the command needs no network beyond the loopback probe.

Manual configuration (if you would rather edit the file yourself)

Add the server to your Claude Code MCP config (~/.claude.json, or a project-level .mcp.json). From npm:

{

"mcpServers": { "engram": { "command": "npx", "args": ["-y", "@devinmlowe/engram", "mcp"] } } }

or, for a source checkout, point at the compiled server with an absolute path:

{

"mcpServers": { "engram": { "command": "node", "args": ["/absolute/path/to/engram/dist/interfaces/mcp/server.js"], "env": {} } } }

The .mcp.json shipped in this repo does the same thing with a repo-relative path and is picked up automatically when you open the engram checkout itself in Claude Code (it is for developing engram; the plugin does not use it).

Optional: background consolidation and visualization

./scripts/install-mcp-daemon.sh install  # MCP HTTP daemon on 127.0.0.1:9907 via launchd (what the Hermes plugin talks to)

./scripts/install-daemon.sh install # nightly engram dream at 02:00 via launchd ./scripts/install-visualizer.sh install # macOS launchd visualizer

On Linux the same scripts detect uname -s and install systemd *user* units instead (no root; loginctl enable-linger $USER if you want them to run while logged out):

./scripts/install-mcp-daemon.sh install  # renders systemd/engram-mcp.service, enables it (Restart=always)

./scripts/install-mcp-daemon.sh status # unit state, GET /health, effective data dir, last log lines ./scripts/install-daemon.sh install # renders systemd/engram-dream.{service,timer}, enables engram-dream.timer ./scripts/install-daemon.sh status # systemctl --user list-timers + last log lines ./scripts/install-daemon.sh run-now # systemctl --user start engram-dream.service

macOS/Linux: MCP HTTP daemon lifecycle

scripts/install-mcp-daemon.sh has the same six verbs as its Windows sibling (install, uninstall, start, `stop

Only the beginning is shown; read the rest in the repo

Ask PopNx