← ALL WORK
Engram / Remember / Open source

Useful context,
beyond the conversation.

Engram gives agents a place to keep facts, find relevant context, and build observations over time. A TypeScript library and an MCP server share one SQLite-backed memory engine.

MIT LICENSEDTYPESCRIPT + MCPSQLITE BACKED
How it works

A memory loop you can inspect.

Retain extracts and stores facts. Recall finds what is relevant. Reflect synthesizes observations from related memories.

What it gives you
01

Remember with structure.

Store facts alongside entities and relationships. Supply text for extraction, or retain structured facts directly.

02

Retrieve relevant context.

Combine semantic similarity, keyword search, and time filters to find useful memories for the task at hand.

03

Reflect on what accumulates.

Synthesize observations from related facts. Inspect, separate, and remove memories as their usefulness changes.

Quickstart

Start with the source.

Use Node.js 20 or later. Build the repository locally, then configure the model and embedding providers for your environment.

Read the documentation
Build Engram locally
git clone https://github.com/ReallyArtificial/engram.git cd engram npm install npm run build
Configure the MCP setup
npm run init

The setup wizard guides provider configuration and can register Engram with Claude Code. For another MCP client, follow the repository’s manual setup. You can also use the TypeScript library in your own application.

Before you build

Understand the
boundaries.

Where are memories stored?

Facts, entities, and observations are stored in a local SQLite database. Model and embedding requests go to the providers you configure. Local storage alone does not mean every processing step happens on your device.

Can I use local models?

The repository documents an Ollama configuration for local embeddings and language-model calls. You will need to install the models and configure their endpoints. Cloud configurations use the credentials of your chosen providers.

Can I control what it remembers?

Memory banks separate contexts, while expiry and explicit forgetting let you remove stored facts. Reflection is configurable, including controls that limit the number of model calls.

Does it require Freeport?

No. Engram is an independent project with its own provider configuration. Its place alongside Freeport and MCP-Jest describes a shared purpose, not a required integration.

Help shape the work

Try it. Question it.
Make it better.

Explore the code, follow the setup guide, and share what you find. Questions and reproducible bug reports are useful contributions.