Practical overview
When it fits
Use Engram when an agent needs to carry observations across cycles and retrieve them by semantic relevance, with memory expiry and cleanup handled by the service.
Who it is for
- Developers adding persistent observation storage and recall to AI agents.
- Teams that need categorized agent memories with automatic expiry and duplicate merging.
Documented uses
- Store observations from an agent's work between decision cycles.
- Search for relevant prior context before an agent makes a decision.
- Inspect memory-store statistics and prune expired entries.
Requirements & limits
The project is presented as a public GitHub repository under the MIT license, with self-hosted setup instructions.
- The documented primary stack is Bun 1.2 and ChromaDB; an in-memory backend is also described.
- Search ranking blends cosine similarity at 85% with recency at 15%, and the weights can be changed in the repository.
- Default TTLs vary by category: pattern 90 days, warning 60, outcome 180 and context 30.
- Search filters expired entries; the separate prune operation scans the full collection and is O(n).
- The README describes a console for memory intake, recall results, store health and event logs.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Start the local development server
Install Engram's dependencies and start its development server with ChromaDB.
Before you start
- Bun 1.2
- Docker Compose for the ChromaDB setup
Steps
Clone the Engram repository and change into its directory.
Run
bun installto install dependencies.Start ChromaDB with
docker-compose up chromadb -d.Run
bun run dev.
Expected outcome
The README's development-server command is running with the ChromaDB service started.
Guide limitations
- The README also describes an in-memory backend selected with
STORE_BACKEND=memoryin.env, which does not require Docker. - These are repository setup instructions, not a verified execution result.
Use the documented memory API
Submit an observation, search for relevant memories, prune expired entries and request store statistics.
Before you start
- An Engram server running with a configured memory backend
- An API client capable of sending the documented HTTP methods and JSON bodies
Steps
Send
POST /memorieswith a category and content; the example also includes a pool address and tags.Send
POST /searchwith a query and optionaltopKand category fields.Send
POST /pruneto remove expired entries.Send
GET /statsto request store statistics.
Expected outcome
The documented API provides routes for storing and searching observations, pruning expired entries and requesting statistics.
Guide limitations
- The README gives route examples but does not specify a base URL, authentication method or deployment procedure.
- Pruning scans the collection and is O(n) in collection size.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- MnemoDev/Engram · Official homepage title · retained in its source language

