query_graphLABSCO SUMMARY
The MCP surface is the query half of engram.
Pointed at a project, engram-serve gives an agent six ways to ask about a codebase without opening the files, and every answer comes from an index sitting on your own disk — no account, nothing uploaded. Two things shape what you actually get: the automatic read-interception engram is known for arrives through engram install-hook in Claude Code rather than through these six tools, and the graph is a snapshot that answers for the repo as of your last engram init unless you wire up engram watch or engram hooks install to rebuild it.
What it is
engramx is an npm package that indexes a codebase into a local SQLite knowledge graph and then serves that graph to an MCP client. The MCP server is one of the binaries in the package — engram-serve — and speaks JSON-RPC over stdio. The config block is npx -y -p engramx engram-serve /path/to/your/project, or engram-serve with the project path in args once the package is installed globally. The project path is baked into the arguments, so it is one server instance per repo. The graph is built beforehand by engram init, which writes .engram/graph.db inside the project from a tree-sitter parse plus git history; the same file is what the CLI and the Claude Code hooks read.
What you get
- Natural-language search over the index —
query_graphanswers from the graph rather than from file contents - Orientation in an unfamiliar repo —
god_nodesfor the most-connected entities,graph_statsfor node and edge counts with a confidence breakdown shortest_pathtraces the connection between two concepts, so you can ask how one part of the codebase reaches anotherlist_mistakesreturns past failure nodes — engram captures these from the repo's git revert history, and filters out the ones a later refactor made stalebenchmarkmeasures token reduction on the repo the server points at. The README's own figure is an 89.1% aggregate per-file reduction across 87 files of engram's repo (163,122 tokens read raw against 17,722), and it labels that a structural context-packet reduction rather than a bill saving- 10 languages parsed into the AST graph: TypeScript, JavaScript, Python, Go, Rust, Java, C, C++, Ruby, PHP
- A REST route to the same graph —
engram server --httpserves/query,/gods,/stats,/path,/mistakesand/hook-statson port 7337, bound to127.0.0.1
Requirements
Nothing to authorize — no account, no API key, no cloud service; the README states the only network call is npm install. What it does need is Node.js 20+ and a graph to serve: npm install -g engramx, then engram init . in the project before you point a client at it, because engram-serve reads .engram/graph.db. There are no native dependencies — SQLite runs through sql.js WASM, so no Rust, Python or system libraries. Every environment variable is optional: ENGRAM_API_TOKEN is the bearer token for the HTTP server and is auto-generated at ~/.engram/http-server.token when unset, ENGRAM_MISTAKE_GUARD turns pre-mortem warnings on ('1' warns, '2' denies), ENGRAM_ANTHROPIC_MEMORY_PATH and ENGRAM_MCP_CONFIG_PATH override file locations, and ENGRAM_NO_UPDATE_CHECK set to '1' silences the update notice. Apache 2.0.
Setup effort
One command — npm install -g engramx
USE CASES
Getting oriented in a repo you did not write
Ask for the most-connected entities and the size of the graph before opening a file, then follow one thread with a plain-language question.
Tracing how one part of the code reaches another
Name the two ends — an entry point and a database call, say — and get the path between them instead of grepping across files.
Checking whether this fix already failed here
engram records mistakes from the repo's git revert history. Ask for them before the edit rather than rediscovering the revert afterwards.
Answering a question about a large file without loading it
Query the graph for the structure first and open the file only when the structural answer is not enough.
Deciding whether the index earns its place
Run the measurement against your own repo and compare it with reading the same files raw, instead of taking the README's number.
6 tools
Listed in project docs. Your client may show a different list.
god_nodesgraph_statsshortest_pathbenchmarklist_mistakesBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
npm install -g engramxMCP Clients
Cline
{
"mcpServers": {
"engram": {
"command": "engram-serve",
"args": [
"<YOUR_PATH_TO_PROJECT>"
]
}
}
}Zed
{
"context_servers": {
"engram": {
"command": {
"path": "engram",
"args": [
"context-server"
]
}
}
}
}Continue
npm install engramx-continueVS Code
code --install-extension nickcirv.engram-vscode