Skip to content

Quick start

The fastest path to a running Engram server is the lite profile, set up by the bundled installer. It is single-user with no auth to configure, and it persists memories to PostgreSQL just like standard.

You need Node.js 22.13.0+ and Docker (for the bundled PostgreSQL).

Terminal window
git clone https://github.com/osirison/engram.git
cd engram
./scripts/install.sh --start

The installer copies .env, installs dependencies, starts PostgreSQL, runs migrations, builds, and — with --start — launches the MCP server on http://localhost:3000. It is idempotent, so you can re-run it any time. Drop --start to have it print the start command instead of launching.

Prefer to wire each step yourself? See Installation.

In a second terminal:

Terminal window
curl http://localhost:3000/health

The health response reports ok with the process and database indicators.

3. Optional: local embeddings for hybrid recall

Section titled “3. Optional: local embeddings for hybrid recall”

The default embedding provider is Ollama — local, no API key. If an Ollama server is running (ollama.com/download) with the default model pulled, hybrid semantic recall works with zero extra configuration:

Terminal window
ollama pull nomic-embed-text

If Ollama is unreachable, the server degrades gracefully (memories are stored without vectors and can be backfilled by a later reindex). No Ollama at all? The deterministic hash provider gives stable — but not semantic — similarity without any model:

Terminal window
DEPLOYMENT_PROFILE=lite \
EMBEDDING_PROVIDER=local \
pnpm --filter mcp-server dev

DEPLOYMENT_PROFILE is read at module-load time. If the server exits immediately, confirm the variable is set in the same shell that runs the build / dev commands — changing it after the process boots has no effect.