Installation
Engram ships as a single binary. Pick the method that suits your environment — all three install the same daemon and MCP server.
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:
| Variable | Default | Description |
|---|---|---|
PORT | 4901 | HTTP + WebSocket port |
ENGRAM_DB_PATH | ./engram.db | SQLite database path |
ENGRAM_DATABASE | sqlite | Database dialect: sqlite or postgresql |
DATABASE_URL | none | PostgreSQL connection URL (when using postgresql) |
ENGRAM_NAMESPACE | none | Scope 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:
| Category | Tools |
|---|---|
| Memory | store_memory, search_memory, recall_context, add_knowledge, forget |
| Stats | memory_stats, index_status, embedding_status |
| Lifecycle | decay_sweep, decay_policy, re_embed |
| Detection | check_contradictions, resolve_contradiction |
| Tags | list_tags, tag_memory |
| Integration | webhook_subscribe, webhook_list, plugin_list |
See MCP Integration for the full setup guide and MCP Tools for parameter reference.
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.