diffctx

Official registry Developer tools

Selects the minimum code an LLM needs to review a git diff

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package diffctx
Claude Code
claude mcp add diffctx -- uvx diffctx==1.20.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "diffctx": {
            "command": "uvx",
            "args": [
                "diffctx==1.20.0"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. diffctx — what a git change reaches, and the code to review it
  2. Install
  3. Usage
  4. How it compares
  5. More

diffctx — what a git change reaches, and the code to review it

diffctx tells an agent or a reviewer what a change reaches outside its diff — the callers, the tests that reach them, the contracts it crosses — and selects the code needed to understand it under a token budget. Local, deterministic, no index, no model calls. Caller resolution is static and per language; where it cannot resolve, the answer says so instead of printing a zero.

Formerly published as treemapper — every command, flag, and API call works unchanged.

Install

diffctx is a command-line tool; the MCP server, the Claude Code plugin and the GitHub Action run the same engine.

CLI
uvx diffctx . --diff HEAD~1             # zero-install, run once via uv
pipx install diffctx                    # isolated CLI
pip install diffctx                     # into an active environment
cargo install diffctx                   # native binary from crates.io, no Python
npx diffctx . --diff HEAD~1             # npm wrapper over the native binary
docker run --rm -v "$PWD:/repo" ghcr.io/nikolay-e/diffctx . --diff HEAD~1
scoop bucket add diffctx https://github.com/nikolay-e/diffctx   # Windows
scoop install diffctx/diffctx

The native binary — cargo, npm, Docker, Scoop and the release archives for Linux, macOS and Windows on x64 and ARM — answers --diff and --symbol in every mode; whole-tree export, Markdown packs, diffctx graph and the MCP server need the Python package.

Any MCP client

Registered as io.github.nikolay-e/diffctx.

claude mcp add diffctx -- uvx --from 'diffctx[mcp]' diffctx-mcp
codex mcp add diffctx -- uvx --from 'diffctx[mcp]' diffctx-mcp
gemini mcp add diffctx uvx -- --from 'diffctx[mcp]' diffctx-mcp

Cursor, VS Code, Claude Desktop, Windsurf, Zed, Continue and the Python API: integrations.

Claude Code plugin

The MCP server plus /diffctx:impact and hooks that run it on each commit and push.

claude plugin marketplace add nikolay-e/diffctx
claude plugin install diffctx@diffctx
CI

The GitHub Action hands a pull request's diff context to any review step.

Usage

diffctx . --diff --mode impact          # uncommitted work: callers outside the diff, their tests, contracts
diffctx . --symbol parse_config         # the same for a name, no change needed
diffctx . --diff main...feature         # the code to review a branch, packed under the auto budget
diffctx . --diff HEAD~1 --budget 12000  # the last commit, capped at 12k o200k tokens
diffctx . --diff 24h --mode locate      # today's work as ranked JSON, no source bodies
diffctx .                               # whole-tree export, Markdown

--diff takes a git range, staged, or a duration window ending now (24h, 90min, 2w). Every flag, default and exit code: command-line reference.

How it compares

Whole-repo packers export everything; code-graph servers answer queries against a maintained index. diffctx is diff-seeded: the input is a change, the output is what it touches and what explains it. Measured results, and when the other two fit better: COMPARISON.md.

More

Apache 2.0

Frequently asked questions

What is diffctx?

Selects the minimum code an LLM needs to review a git diff

How do I install diffctx?

It runs on your machine. In Claude Code: claude mcp add diffctx -- uvx diffctx==1.20.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does diffctx need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is diffctx open source?

Yes. Its code is on GitHub under the Apache-2.0 license.

Who maintains diffctx?

It is published by nikolay-e. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.