engram-server — Claude Code MCP server: what it does, how to install
Persists conversational facts into a temporal graph with hybrid search. Agents keep long-term context across sessions using SQLite or PostgreSQL storage.
claude mcp add engram-server -- docker run -i --rm ghcr.io/jamjet-labs/engram-server:0.5.0What engram-server does
The server runs as a standalone Rust binary providing MCP tools over stdio and HTTP REST. An extraction pipeline handles conversations. It isolates structured facts and records timestamps. Queries retrieve records through vector similarity alongside SQLite FTS5 text matching.
Fact parsing relies on an LLM backend. The default setup targets local Ollama, avoiding cloud API calls entirely. Setting ENGRAM_LLM_PROVIDER routes requests to Anthropic Claude, Google Gemini, or OpenAI-compatible gateways. Backing storage stays in SQLite or PostgreSQL.
Docker on Linux with local Ollama requires --add-host=host.docker.internal:host-gateway. Without this flag, Docker blocks communication with the host machine. Local models become unreachable.
What it helps with
- Retain conversation facts and context across separate agent runs
- Combine keyword FTS5 queries with vector retrieval in one search
- Resolve contradictions and consolidate changing knowledge over time
- Partition stored facts by user, organization, or session scope
Example prompts for the agent
- Remember that we migrated the testing database to PostgreSQL 16.
- Search memory for previous configuration choices regarding our staging server.
- Look up stored facts for the dev-admin session and update outdated entries.
How to install engram-server
Platform CLI
claude mcp add engram-server -- docker run -i --rm ghcr.io/jamjet-labs/engram-server:0.5.0Platform CLI
codex mcp add engram-server -- docker run -i --rm ghcr.io/jamjet-labs/engram-server:0.5.0Config file
{
"mcpServers": {
"engram-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/jamjet-labs/engram-server:0.5.0"
]
}
}
}Config file
{
"servers": {
"engram-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/jamjet-labs/engram-server:0.5.0"
]
}
}
}Platform CLI
gemini mcp add engram-server docker run -i --rm ghcr.io/jamjet-labs/engram-server:0.5.0Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about engram-server
How to install engram-server in Claude Code?
Run claude mcp add engram-server -- docker run -i --rm ghcr.io/jamjet-labs/engram-server:0.5.0 in your terminal. This registers the Dockerized binary as an MCP tool over stdio.
What storage backends does engram-server use?
The server stores its temporal knowledge graph in a standalone SQLite file with FTS5 or in an external PostgreSQL database.
Which LLM providers can extract facts?
By default, it connects to local Ollama with llama3.2 and nomic-embed-text. You can switch providers to Anthropic, Google Gemini, or any OpenAI-compatible API using the ENGRAM_LLM_PROVIDER environment variable.