EngramEngramdocs
v0.1.0
Search docs…⌘K
GitHub
Getting Started

Installation

Engram ships as a single binary. Pick the method that suits your environment — all three install the same daemon and MCP server.

Requirements — Node.js 22+ and pnpm 9+. SQLite is used by default (zero config). PostgreSQL is available as an opt-in for team/cloud deployments.

Quick install (recommended)

Install the CLI, then run the setup wizard — it clones, builds, and configures everything:

# Install the CLI globally
npm install -g @engram-ai-memory/cli

# Run the setup wizard
engram setup

# Start the server (API + 3D dashboard on :4901)
engram start

That's it. Open http://localhost:4901 for the dashboard, /docs for Swagger UI. State is stored in ~/.engram/.

Management commands

engram setup       # First-time setup wizard
engram start       # Start server (background)
engram stop        # Stop the server
engram doctor      # Health checks (Node, pnpm, DB, MCP, API)
engram status      # Server status + memory count
engram configure   # View/set config (port, dbPath, namespace)

Shell script install (alternative)

# macOS / Linux
curl -fsSL https://engram.am/install.sh | bash

# Windows (PowerShell)
powershell -c "irm https://engram.am/install.ps1 | iex"

Build from source (development)

git clone https://github.com/ayvazyan10/engram.git
cd engram
pnpm install
pnpm turbo run build
node apps/server/dist/index.js

Start the API server

The Engram API server provides REST endpoints, WebSocket events, and Swagger UI:

cd engram
ENGRAM_DB_PATH=./engram.db node apps/server/dist/index.js

The server starts on port 4901 by default. Key environment variables:

VariableDefaultDescription
PORT4901HTTP + WebSocket port
ENGRAM_DB_PATH./engram.dbSQLite database path
ENGRAM_DATABASEsqliteDatabase dialect: sqlite or postgresql
DATABASE_URLnonePostgreSQL connection URL (when using postgresql)
ENGRAM_NAMESPACEnoneScope all operations to a namespace

See Configuration for all environment variables.

Open the 3D dashboard

After building, the 3D dashboard is served automatically from the API server — no separate process needed:

# Dashboard is at http://localhost:4901 (same as API)
# Just start the server after building:
node apps/server/dist/index.js

The dashboard shows all memories as an interactive 3D neural graph with 5 visual modes — Cosmos, Nebula, Neural Net, Galaxy, and Clusters. Swagger UI is at http://localhost:4901/docs.

Verify the server

curl http://localhost:4901/api/health
# → {"status":"ok","version":"0.1.0","uptime":12}

Store your first memory

# Store
curl -s -X POST http://localhost:4901/api/memory \
  -H "Content-Type: application/json" \
  -d '{"content":"User prefers TypeScript","type":"semantic","importance":0.8}'

# Recall
curl -s -X POST http://localhost:4901/api/recall \
  -H "Content-Type: application/json" \
  -d '{"query":"What language does the user prefer?","maxTokens":2000}'

Or use the CLI:

engram store "User prefers TypeScript" --type semantic --importance 0.8
engram recall "What language does the user prefer?" --raw

Connect to Claude Code

Add Engram as an MCP server in ~/.claude/settings.json:

{
  "mcpServers": {
    "engram": {
      "command": "node",
      "args": ["/path/to/engram/packages/mcp/dist/server.js"],
      "env": {
        "ENGRAM_DB_PATH": "/path/to/engram.db"
      }
    }
  }
}

Restart Claude Code. Engram's 18 tools will appear automatically:

CategoryTools
Memorystore_memory, search_memory, recall_context, add_knowledge, forget
Statsmemory_stats, index_status, embedding_status
Lifecycledecay_sweep, decay_policy, re_embed
Detectioncheck_contradictions, resolve_contradiction
Tagslist_tags, tag_memory
Integrationwebhook_subscribe, webhook_list, plugin_list

See MCP Integration for the full setup guide and MCP Tools for parameter reference.

You're all set! Engram will now silently store and recall memories on every conversation. No further configuration is required to get started.

Swagger UI

Interactive API documentation is available at http://localhost:4901/docs once the server is running. All 40+ endpoints are documented with request/response schemas.

Installation — Engram Docs