Skip to main content
Glama

Engram

Your memory, on your machine.

Every AI platform is racing to build "memory" — and locking it inside their own walls. Your context, preferences, and history end up trapped in one vendor's product, invisible and unportable. Engram is the opposite bet: an open, local-first memory layer that you own, that follows you across every tool.

Engram runs as a Model Context Protocol server, so any MCP-capable client (Claude Code, Claude Desktop, and more as they adopt the protocol) can read and write your memory. Everything stays on your machine — the store, the search, even the embedding model. Nothing leaves.

How it works

  • Local-first — a single SQLite file on your disk is the source of truth.

  • On-device embeddings — semantic search runs locally (bge-small); your memories are never sent to a third party.

  • Hybrid recall — keyword (FTS5) fused with semantic similarity, so it finds what's relevant, not just what shares words.

  • Stays coherent — flags related or contradicting memories on save instead of silently piling up duplicates.

  • You're in control — a built-in inspect UI to browse, edit, tag, import, and export everything you've stored.

Status

Early development. v1 is a local MCP server backed by SQLite, with hybrid (keyword + semantic) recall and local embeddings — nothing leaves your machine. See docs/plans for the design.

Tools

Tool

Purpose

recall

Search your memory for relevant entries

save_memory

Store a new memory

list_memories

Browse stored memories

update_memory

Edit an existing memory

forget

Delete a memory

Development

npm install
npm run build
npm start

The server speaks over stdio. Point an MCP client (e.g. Claude Code or Claude Desktop) at the built dist/index.js to connect:

claude mcp add engram -- node C:\Dev\Engram\dist\index.js

Inspect UI

A local web view to read, edit, tag, and export your memories lives in ui/:

cd ui
npm install
npm run dev

It reads the same store at ~/.engram/memory.db. Memories added or edited here are re-embedded by the server on its next start.

Storage

Everything lives in ~/.engram/memory.db (SQLite, source of truth) and models/ (the local embedding model). Set ENGRAM_DIR to use a different location.

License

MIT © Kalyan Gopalam