Most agent memory is a flat pile with keyword search over it; here memories are promoted or decayed by how often they earn their keep, so what a session resumes with is a small set of things that survived rather than everything ever written. Two tools are worth building habits around: engram_triggers pulls the rules tied to an action before you take it, and engram_resume rebuilds a working context at the start of a session instead of leaving the model to search blind. Note that this is a client to a server you run yourself — nothing works until that binary is up.
A memory engine with a lifecycle. Memories move through three layers — Buffer, Working and Core — by access frequency and quality gating, so what matters is promoted and noise decays. It is a single Rust binary with one SQLite file behind an HTTP API, and this package is the MCP client to it.
- engram_store writes a memory with kind, tags, source, importance and namespace; supersedes replaces an earlier memory with history kept, and lessons auto-promote to Working after two hours
- engram_recall is hybrid semantic and keyword search with budget-aware retrieval — token budget, layer, tag, source and time filters, minimum score and importance — with optional LLM query expansion for vague queries
- engram_search is the lighter keyword-only path when scoring and budgeting are not needed
- engram_resume bootstraps a session: core knowledge, working context, buffer, recent activity and session notes, filterable by workspace tags
- engram_recent lists what was stored in the last N hours, for picking up where you left off
- engram_triggers fetches the memories attached to an action such as git-push or deploy — the lesson recalled before the mistake, not after
- engram_extract turns raw conversation logs or notes into individual structured memories
- engram_consolidate runs a promotion and decay cycle with thresholds you set, optionally merging similar memories
- engram_update and engram_delete revise or remove; engram_trash lists soft-deleted memories and engram_restore brings one back to its original layer
- engram_topic drills into the self-organising topic clusters, and engram_stats, engram_health and engram_repair cover layer counts, uptime and cache, and rebuilding the search index
The engram server running — a single binary with a SQLite file, no Python, Redis or vector database, installed by its own script and listening on http://localhost:3917 by default. The MCP side runs as npx -y engram-rs-mcp with ENGRAM_URL pointing at that server, ENGRAM_API_KEY if it is behind bearer auth, and ENGRAM_NAMESPACE to keep projects separate. Semantic search needs an embedding provider, which the installer prompts for.
One command — npx engram-rs-mcp
