# engram

Tells your agent which files tend to change together and what the tests expect. Useful before touching unfamiliar code.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 7
- Author: girishbuilds
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/girishbuilds/engram/tree/HEAD/adapter
- Updated: 2026-02-19
- HTML: https://affpapa.org/en/nevibecode/mcp/girishbuilds-engram

## What it does

Engram is an MCP server that hands the agent context the files themselves don't carry. It mines git history for files that keep getting committed alongside your target, so a change to `A.ts` comes with a warning about `B.ts`. The second layer is tests: it pulls out intent strings such as `it("should validate JWT expiration")` and passes them along as behavioural guardrails.

Notes are the third layer. The agent calls `save_project_note` to record what the code doesn't say — field order in an export format, a restart needed after a config change. Those notes then surface on their own in later impact analyses. Three tools in total: `get_impact_analysis`, `save_project_note`, `read_project_notes`.

Everything runs on your machine, with no telemetry. The adapter is a TypeScript server on Node.js, started through `npx` and speaking stdio. Test framework coverage is uneven: JS/TS (Vitest, Jest, Mocha, Playwright, Cypress), JVM (JUnit 4, JUnit 5, Kotest, ScalaTest), Rust, Python (Pytest, Unittest) and Go. Point it at anything else and no intent strings get collected, which costs you half the value.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add engram -- npx -y @spectra-g/engram-adapter
```

### Codex

**Platform CLI**
```bash
codex mcp add adapter -- npx -y @spectra-g/engram-adapter
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "adapter": {
            "command": "npx",
            "args": [
                "-y",
                "@spectra-g/engram-adapter"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "adapter": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@spectra-g/engram-adapter"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add adapter npx -y @spectra-g/engram-adapter
```

## When to use it
- spot hidden coupling between files before editing
- keep a positional parser in another file from breaking
- read test intent without opening the whole suite
- carry project knowledge across agent sessions
- size up the blast radius of one file change

## Example prompts
- Run an impact analysis on `src/Auth.ts` with engram
- Save a project note: the export line format is parsed positionally by `bin/legacy-mainframe-sync.js`
- Search project notes for Redis

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

## Other versions with the same name
- [engram · nickcirv](https://affpapa.org/en/nevibecode/mcp/nickcirv-engram.md) — ★ 143
- [engram · tstockham96](https://affpapa.org/en/nevibecode/mcp/tstockham96-engram.md) — ★ 47
- [engram · kael-bit](https://affpapa.org/en/nevibecode/mcp/kael-bit-engram.md) — ★ 28
- [Engram · get-engram](https://affpapa.org/en/nevibecode/mcp/engram.md) — ★ 19
- [Engram · rwnalds](https://affpapa.org/en/nevibecode/mcp/rwnalds-engram.md) — ★ 17

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
