Engram MCP
A local code graph and context toolkit for agents: entities, Git relations and recorded mistakes served via CLI, hooks and MCP
- 143 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- Hook installs and generators change project files and client settings
- Graph context goes to the agent model, so mind its provider policy
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/nickcirv-engramDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Hook installs and generators change project files and client settings
- Graph context goes to the agent model, so mind its provider policy
This is third-party code. Review the repository files before installing.
What it does
Engram indexes source code entities, Git relationships and selected project memory, and then serves context bounded in size. The graph sits in a local SQLite database inside the project `.engram/` directory and is reachable from the CLI, from agent hooks, through MCP and in a protected local dashboard. CLI queries: `query` searches the graph, `path` builds the shortest path, `gods` lists the most connected nodes, `callers` and `callees` show calls, `impact` estimates the effect of an edit, and `learn` and `mistakes` keep a memory of errors. For MCP there is the `engram-serve` executable with the tools `query_graph`, `god_nodes`, `graph_stats`, `shortest_path`, `benchmark` and `list_mistakes`. Generators `gen`, `gen-mdc`, `gen-aider`, `gen-windsurfrules` and `gen-ccs` prepare documents for Claude, Cursor, Aider and Windsurf.
Who it is for. Developers who work with agents across a large repository and want recorded mistakes and code relations carried into a new session.
Good fit when
- You need to find authorization code before reading whole files, with a token budget on the answer
- You want mistakes from the last session to reach the next one through `mistakes`
- You need to estimate what an edit touches through `impact`, `callers` and `callees`
- The project needs generated rules for Cursor, Aider or Windsurf from one graph
Not a fit when
- You need a ready package with no build: the README describes a source build at a pinned commit
- You need a guarantee of no network use: update checks and external providers may reach the network
- The project is small and the search built into the agent is enough
Example request
Index the project, find nodes related to authorization, show the calling functions and mistakes from earlier sessions, within 2000 tokensMCP
- Transport
- stdio, http
- Authentication
- not required
Environment variables
ENGRAM_NO_UPDATE_CHECK- Value 1 disables the npm update check.
ENGRAM_API_TOKENsecret- HTTP server token, otherwise read from a local file.
Limitations
The text names a source-inspected `engramx` 4.5.0 on Node 20 and newer and a build from a pinned commit, with no published package mentioned. The build uses `npm install --ignore-scripts`, and `init` installs a Sentinel hook by default, so use `--no-hook` for a first look. The graph is local but the whole system is not guaranteed to be network-free: there is an npm update check, an external Context7 call and providers through MCP or plugins, and `ENGRAM_NO_UPDATE_CHECK=1` turns off only the update check. The HTTP server listens on `127.0.0.1` and needs a token. Generators, hook installs and cache commands change local state.
How to disable. Run `hook-disable` or remove the hook, drop the `engram` registration from the client and delete the `.engram/` directory in the project.
FAQ
How do I connect the MCP server?
Set the command `node` with the arguments `/absolute/path/to/engram/dist/serve.js` and the absolute project path. The server exposes `query_graph`, `god_nodes`, `graph_stats`, `shortest_path`, `benchmark` and `list_mistakes`.
Where is the graph stored?
In a local SQLite database inside the project `.engram/` directory and the graph is built with `init` and `reindex`.
Does `init` install a hook?
Yes by default, a Sentinel hook. The `--no-hook` flag skips it and `install-hook --dry-run` shows the actions in advance.
Does Engram work offline?
The graph core is local, but the npm update check and external providers may use the network. `ENGRAM_NO_UPDATE_CHECK=1` turns off the update check.
How is the local HTTP server protected?
It listens on `127.0.0.1`, validates the Host and Origin headers and needs a token from `ENGRAM_API_TOKEN` or a local file.
Discussion
No questions or reviews yet.
Related
MCP serversLocal code graph for agents: an MCP server returns entry points, symbol links and change impact in one call
Code graph and project memory in one Rust program: the agent gets excerpts with file and line citations
GraphMind
graphmind
Local MCP server that builds a code graph and remembers project decisions, so the agent stops re-reading the repo every session
Context Engine: code search and memory for an agent
Context Engine
A skill that teaches an agent to query the Context Engine code index and symbol graph before reading files directly
CodeGraph (Rust)
codegraph-rust
A Rust code graph for agents: four MCP tools show what an edit will touch, how the architecture fits together and where the fragile spots are
Local code structure graph: builds a repository map with tree-sitter and serves the assistant only the context a change actually touches over MCP
README in short
The text describes Engram as a code graph and context toolkit for agents, then a quick start with a source build and a query check, a table of implemented features, the architecture and privacy limits. Warnings cover the network, hooks and the local token.