Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
dr12hes avatar

Engrm

  • Updated April 21, 2026
  • dr12hes/engrm

engrm is a MCP server that provides shared memory across devices, sessions, and agents for OpenClaw, Claude Code, and Codex.

About

engrm is an MCP server that provides shared memory for AI coding workflows so decisions, facts, and working notes can follow you across sessions, hardware, and compatible agents including OpenClaw, Claude Code, and Codex. For a developer, the pain is familiar: you finish a long debugging thread, switch laptops, or spin up a second agent for tests, and the new context window starts cold. engrm sits in the agent-tooling layer as infrastructure you register once in MCP config, then invoke through tools rather than pasting megabytes of chat history. It is not a replacement for git, issues, or formal docs; it is operational recall for what the agent should treat as durable workspace state. Complexity is moderate because you must define what gets stored, avoid leaking secrets into shared memory, and align retention with how you work. Use it when agent continuity is a bottleneck; skip it if a single short-lived session on one machine is enough.

  • Shared memory across devices, sessions, and multiple agents (OpenClaw, Claude Code, Codex)
  • npm package engrm served over stdio MCP (v0.4.6)
  • Reduces re-explaining project context every time you open a new chat or machine
  • Targets builders running several agents on the same codebase
  • Open-source implementation on GitHub (dr12hes/engrm)

Engrm by the numbers

  • Data as of Jul 7, 2026 (Skillselion catalog sync)
terminal
claude mcp add engrm -- npx -y engrm

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Packageengrm
TransportSTDIO
AuthNone
Last updatedApril 21, 2026
Repositorydr12hes/engrm

What it does

Give Claude Code, Codex, and OpenClaw a shared memory layer so context survives new sessions, machines, and parallel agents.

Who is it for?

Best when you're juggling Claude Code and Codex on one repo and need durable agent recall across long builds.

Skip if: Skip if you only need version-controlled documentation in git with no cross-agent memory layer.

What you get

Registered agents can read and write shared memory so ongoing project context stays available without manual copy-paste.

  • Durable memory entries agents can reuse
  • Consistent context across registered clients
  • Less manual context priming per session

By the numbers

  • Server version 0.4.6
  • npm identifier engrm with stdio transport
  • Repository: github.com/dr12hes/engrm
README.md

Engrm

License: FSL-1.1-ALv2 Node.js TypeScript MCP Compatible

The only AI memory that syncs across devices and agents.

Cross-device persistent memory for OpenClaw, Claude Code, Codex, and any MCP-compatible agent. Start free with 2 devices.

Get StartedDocumentationBlog


Why Engrm?

  • Cross-device sync — Fix a bug on your laptop, continue on your desktop. No other memory tool does this.
  • Cross-agent compatible — Works with OpenClaw, Claude Code, Codex, Cursor, Windsurf, Cline, Zed
  • Free tier — 2 devices, 5,000 observations, full sync. £0 forever.
  • Offline-first — Local SQLite + sqlite-vec. <50ms search. Works on a plane.
  • Delivery Review — Compare what was promised vs what shipped
  • Sentinel — Real-time code audit before changes land
  • Team memory — Share insights across your whole team (Team plan)

vs Other Memory Tools

Feature Engrm Free Supermemory Pro mem0
Cost £0 $20/mo ~$2/mo + usage
Cross-device ✅ 2 devices ❌ Single device ❌ Single device
OpenClaw plugin ✅ Native ✅ (Pro required) ✅ (usage costs)
Works with Claude/Codex
Delivery Review
Sentinel ✅ (Vibe+)

Read the full comparison →


Installation

For OpenClaw Users

# 1. Install the plugin
openclaw plugins install engrm-openclaw-plugin

# 2. Restart OpenClaw
# Quit and reopen, or restart gateway

# 3. Connect Engrm in chat
/engrm connect

# 4. Verify
/engrm status

What works:

  • ✅ Session startup memory injection
  • ✅ Automatic session capture
  • ✅ Cross-device sync (unique to Engrm)
  • /engrm slash commands
  • ✅ Sentinel advisory mode (Vibe+ plans)

Blog: Engrm Now Supports OpenClaw →

For Claude Code / Codex

npx engrm init

This auto-configures MCP servers and hooks in ~/.claude.json and ~/.codex/config.toml.

Alternative methods:

# From a provisioning token (shown on engrm.dev after signup)
npx engrm init --token=cmt_your_token

# Self-hosted Candengo Vector
npx engrm init --url=https://vector.internal.company.com

# Manual setup (air-gapped environments)
npx engrm init --manual

For npm users, Engrm runs on Node.js 18+ and does not require Bun to be installed.


How It Works

Background Operation

Engrm works automatically:

  • Session start — injects relevant project memory into context
  • While you work — captures observations from tool use where the agent exposes that hook surface
  • Session end — generates a session digest, syncs to cloud, and turns recent work into a denser project brief
━━━ Engrm Session Summary ━━━

📋 Request: Fix the OAuth redirect validation
🔍 Investigated: redirect_uri handling in auth.py
💡 Learned: scheme + host + port must all match registered URIs
✅ Completed: Stricter redirect_uri validation (auth.py)

🟢 Risk: Low (0.12)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Check Status

npx engrm status
Engrm Status

  User:        david
  Email:       david@example.com
  Device:      macbook-a1b2c3d4
  Plan:        Pro (£9.99/mo)
  Candengo:    https://www.candengo.com
  MCP server:  registered
  Codex MCP:   registered
  Hooks:       registered (6 hooks)
  Codex hooks: registered (2 hooks)

  Observations:    1,247 active
  By type:         change: 412, discovery: 289, bugfix: 187, ...
  Sentinel:        enabled (advisory, 142/200 today)
  Sync:            push 2m ago, pull 5m ago
  Security:        3 findings (1 high, 2 medium)

Architecture

Claude Code session:

 │
 ├─ SessionStart hook ──→ inject relevant memory into context
 │
 ├─ PreToolUse hook ────→ Sentinel audits Edit/Write (optional)
 │
 ├─ PostToolUse hook ───→ extract observations from tool results
 │
 ├─ PreCompact hook ────→ re-inject memory before context compression
 │
 ├─ ElicitationResult ──→ capture MCP form submissions
 │
 └─ Stop hook ──────────→ session digest + sync + summary
 │
 ▼
Local SQLite (FTS5 + sqlite-vec)
 │
 ▼ (sync every 30s)
Candengo Vector (cloud)
 │
 ▼
Available on all your devices + team members

Codex session:

 │
 ├─ SessionStart hook ──→ inject relevant memory into context
 │
 ├─ MCP tools ──────────→ search, save, inspect, message, stats
 │
 └─ Stop hook ──────────→ session digest + sync + summary

Agent Capability Matrix

Capability Claude Code Codex OpenClaw
MCP server tools Via skills / MCP
Session-start context injection Via skill-guided workflow
Stop/session summary hook Via skill-guided workflow
Per-tool automatic capture Partial via MCP/manual flows only Manual / skill-guided
Pre-write Sentinel hook Not yet exposed by Codex public hooks Not exposed
Pre-compact reinjection Not exposed Not exposed
ElicitationResult capture Not exposed Not exposed

See AGENT_SUPPORT.md for detailed comparison.


Features

MCP Tools

The MCP server exposes tools that supported agents can call directly:

Tool Purpose
search Find relevant observations from memory (hybrid FTS5 + vector)
timeline Chronological context around an observation
get_observations Fetch full details by ID
save_observation Manually save something worth remembering
install_pack Load a curated knowledge pack for your stack
send_message Leave a cross-device or team note
recent_activity Inspect what Engrm captured most recently
memory_stats View high-level capture and sync health

Observation Types

Type What it captures
discovery Learning about existing systems or codebases
bugfix Something was broken, now fixed
decision Architectural or design choice with rationale
change Meaningful modification (feature, config, docs)
feature New capability or functionality
refactor Code restructured without behavior change
pattern Recurring issue or technique
digest Session summary (auto-generated)

Hybrid Search

Local FTS5 + sqlite-vec (all-MiniLM-L6-v2, 384 dims) combined with Candengo Vector's BGE-M3 semantic search. Results merged via Reciprocal Rank Fusion.

Sentinel

LLM-powered review of every Edit/Write before it executes. Catches security issues, anti-patterns, and drift from team decisions.

⚠️ Sentinel: SQL query uses string concatenation instead of parameterized query
   Rule: sql-injection
   (Advisory mode — change allowed)

Built-in rule packs: security, auth, api, react, database.

npx engrm sentinel init-rules  # Install all rule packs
npx engrm sentinel rules        # List available packs

Knowledge Packs

Pre-loaded knowledge for your tech stack. Detected automatically on session start.

Available: typescript-patterns, nextjs-patterns, node-security, python-django, react-gotchas, api-best-practices, web-security

npx engrm install-pack typescript-patterns

Secret Scrubbing

Multi-layer regex scanning for API keys, passwords, tokens, and credentials. Sensitive content is redacted before storage and sync. Custom patterns configurable in ~/.engrm/settings.json.

Retention & Aging

Observations age gracefully: active (30 days, full weight) → aging (0.7x search weight) → archived (compacted into digests) → purged (after 12 months). Pinned observations never age.


Pricing

Free tier stays free forever. No bait-and-switch.

Start with 2 devices and 5,000 observations. Upgrade when you need more.

Free Vibe Pro Team
Price £0 £5.99/mo £9.99/mo £12.99/seat/mo
Observations 5,000 25,000 100,000 Unlimited
Devices 2 3 5 Unlimited
Cloud sync
Sentinel Advisory (50/day) Advisory (200/day) Blocking (unlimited)
Retention 30 days 90 days 1 year Unlimited
Team namespace

Sign up at engrm.dev.


Self-Hosted

Point Engrm at your own Candengo Vector instance:

npx engrm init --url=https://vector.internal.company.com --token=cmt_...

Candengo Vector provides the backend: BGE-M3 hybrid search, multi-tenant namespaces, and team sync. See the Candengo docs for deployment.


Configuration

~/.engrm/settings.json

Created by engrm init. Contains API credentials, sync settings, search preferences, secret scrubbing patterns, and Sentinel configuration.

.engrm-project.json

Place in your project root to override project identity for non-git projects:

{
  "project_id": "internal/design-system",
  "name": "Design System"
}

Agent Auto-Registration

Engrm auto-registers in:

  • ~/.claude.json — MCP server (engrm)
  • ~/.claude/settings.json — 6 lifecycle hooks
  • ~/.codex/config.toml — MCP server (engrm) + codex_hooks feature flag
  • ~/.codex/hooks.json — SessionStart and Stop hooks

Technical Stack

  • Runtime: TypeScript, runs on Bun (dev) or Node.js 18+ (npm)
  • Local storage: SQLite via better-sqlite3, FTS5 full-text search, sqlite-vec for embeddings
  • Embeddings: all-MiniLM-L6-v2 via @xenova/transformers (384 dims, ~23MB)
  • Remote backend: Candengo Vector (BGE-M3, Qdrant, hybrid dense+sparse search)
  • MCP: @modelcontextprotocol/sdk (stdio transport)
  • AI extraction: @anthropic-ai/claude-agent-sdk (optional, for richer observations)

License

FSL-1.1-ALv2 (Functional Source License) — part of the Fair Source movement.

  • ✅ Free to use, modify, and self-host
  • ❌ You cannot offer this as a competing hosted service
  • ✅ Each version converts to Apache 2.0 after 2 years
  • ⚠️ Sentinel is a separate proprietary product

See LICENSE for full terms.


Documentation

Maintainers: run node scripts/check-public-docs.mjs to verify the repo only contains the approved public docs set at the root.


Resources

Community


Found this useful? ⭐ Star this repo to help other developers discover Engrm.


Built by the Engrm team, powered by Candengo Vector.

Recommended MCP Servers

How it compares

MCP shared-memory integration, not a vector database product or full knowledge base UI.

FAQ

Who is engrm for?

Developers using OpenClaw, Claude Code, or Codex who want one shared memory surface across sessions and devices.

When should I use engrm?

Use it during build when agent context loss slows you down across machines, branches, or parallel agent tasks.

How do I add engrm to my agent?

Add the engrm stdio MCP server from npm to your agent MCP configuration and restart so tools can access shared memory.

AI & LLM Toolsagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.