Bir değişikliğin etkilediği çağırıcıları, testleri ve kontratları belirleyerek bir LLM'in bir git diff'i incelemesi için gereken minimum kodu seçer.
Ayrıca bilinen adı nikolay-e/diffctx
- Yıldızlar
- 6
- Araçlar
- —
- İndirmeler, 30 gün
- 3.869
- En son sürüm
- 1.20.0
- Son commit
- 14 Kas 2026
- Lisans
- Apache-2.0
diffctx MCP nedir?
diffctx bir MCP sunucusudur. Bir değişikliğin etkilediği çağırıcıları, testleri ve kontratları belirleyerek bir LLM'in bir git diff'i incelemesi için gereken minimum kodu seçer.
Özet, projenin README dosyasından oluşturuldu
diffctx MCP sunucusu hakkında
diffctx, bir git diff'inin dışındaki ilgili bağlamı belirleyerek geliştiricilerin ve AI agent'ların kod değişikliklerinin daha geniş kapsamlı etkisini anlamalarına yardımcı olur. Tüm bir depoyu sağlamak yerine, bir modifikasyondan etkilenen belirli çağırıcıları, testleri ve kontratları seçer. Bu araç, bağlam penceresi (context window) sınırlarının sorun teşkil ettiği LLM tabanlı kod incelemeleri için kullanışlı olacak şekilde, belirli bir token bütçesi içinde kalacak şekilde tasarlanmıştır.
Sunucu yerel olarak çalışır ve güncel bir indeks veya harici model çağrılarına ihtiyaç duymadan deterministik bir şekilde işler. Claude Desktop, Cursor veya Zed gibi çeşitli MCP istemcilerine entegre edilebilir. Kullanıcılar analiz kapsamını tanımlamak için bir git aralığı, staged değişiklikler veya 24h gibi bir zaman aralığı belirleyebilirler. Etki analizi veya değişiklikleri bulma gibi farklı modları destekler ve --budget bayrağını kullanarak özel bir token bütçesi ayarlamaya olanak tanır.
Neler yapabilirsiniz
- 1Kod değişikliği etkisini analiz edinBir değişikliğin kapsamını anlamak için belirli bir git diff'inden etkilenen çağırıcıları ve testleri belirleyin.
- 2LLM inceleme bağlamını optimize edinBir AI agent'a, bir token sınırının altında kalarak bir dalı (branch) incelemesi için gereken minimum kodu sağlayın.
- 3Son çalışmaları bulunBelirli bir zaman dilimi içinde yapılan kod değişikliklerinin sıralanmış bir JSON listesini alın.
- 4Belirli sembolleri inceleyinBir kod değişikliğine ihtiyaç duymadan belirli bir fonksiyon veya isim için etkiyi ve çevreleyen bağlamı bulun.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
diffctx MCP nasıl yüklenir
Biçimler 10 Kas 2026 tarihinde doğrulandıCursor'a ekleGoose'a eklediffctx MCP'yi Claude Code içine yükleyin
$ claude mcp add diffctx -- uvx diffctxdiffctx MCP'yi Cursor içine yükleyin
~/.cursor/mcp.json
{
"mcpServers": {
"diffctx": {
"command": "uvx",
"args": [
"diffctx"
]
}
}
}diffctx MCP'yi VS Code içine yükleyin
.vscode/mcp.json
{
"servers": {
"diffctx": {
"type": "stdio",
"command": "uvx",
"args": [
"diffctx"
]
}
}
}diffctx MCP'yi VS Code CLI içine yükleyin
$ code --add-mcp '{"name":"diffctx","type":"stdio","command":"uvx","args":["diffctx"]}'diffctx MCP'yi Claude Desktop içine yükleyin
claude_desktop_config.json
{
"mcpServers": {
"diffctx": {
"command": "uvx",
"args": [
"diffctx"
]
}
}
}diffctx MCP'yi Codex içine yükleyin
$ codex mcp add diffctx -- uvx diffctxdiffctx MCP'yi Codex config.toml içine yükleyin
~/.codex/config.toml
[mcp_servers.diffctx] command = "uvx" args = ["diffctx"]
diffctx MCP'yi Gemini CLI içine yükleyin
$ gemini mcp add -s user diffctx uvx -- diffctxdiffctx MCP'yi Gemini settings.json içine yükleyin
~/.gemini/settings.json
{
"mcpServers": {
"diffctx": {
"command": "uvx",
"args": [
"diffctx"
]
}
}
}Otomatik kontroller
Çalıştırıldı 14 Kas 2026Tam rapor →Otomatik kontrollerimizden geçti. Bu bir güvenlik denetimi değildir: kodu okuyun ve sunucuya ihtiyaç duyduğu en dar erişimi verin. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirnikolay-e/diffctx is public and reachablegithub.com/nikolay-e/diffctx ↗Geçti
- Paket, bu depoyu kaynağı olarak gösteriyordiffctx names nikolay-e/diffctx as sourcepypi.org/project/diffctx/ ↗Geçti
- Derleme kökeni (Sigstore onayı)Sigstore attestation for diffctxpypi.org/project/diffctx/ ↗Geçti
- Açık kaynak lisansı (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Geçti
- Son bir yıl içinde commit veya sürüm mevcutLast commit or release 2026-11-12github.com/nikolay-e/diffctx ↗Geçti
- OpenSSF ScorecardKontrol edilmedi
- Paket adı popüler bir pakete yakın değilNo popular package one edit away from diffctxGeçti
- Pakette veya bağımlılıklarında kritik uyarı yok2 resolved dependencies checked; no critical advisoryosv.dev ↗Geçti
- Modele yönelik gizli talimat yok0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersGeçti
- Yıkıcı araçlar etiketlenmişKontrol edilmedi
- Uzak uç nokta MCP el sıkışmasına yanıt veriyorKontrol edilmedi
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
- Documentation site — the pipeline end to end
- Command-line reference — rendered from
diffctx --help - Integrations — install, MCP clients, Python API
- FAQ — heuristic or oracle, ignore rules, monorepos, secrets
- Token counting —
--budgetfor non-GPT models - Benchmarks and the paper
- Changelog · Security
- Parameter strategy
Apache 2.0
diffctx MCP soruları
diffctx MCP'yi Claude Code'a nasıl eklerim?
Terminalinizde claude mcp add diffctx -- uvx diffctx komutunu çalıştırın. Her projede kullanılabilir olması için --scope user ekleyin.
diffctx MCP'yi Cursor'a nasıl eklerim?
~/.cursor/mcp.json dosyasını açın ve yukarıdaki yükleme bölümünde gösterilen Cursor yapılandırmasını kullanarak sunucuyu mcpServers altına ekleyin.
diffctx, tüm repoyu paketleyen araçlardan veya kod grafiği sunucularından nasıl ayrılır?
Her şeyi dışa aktaran tüm repo paketleyicilerinin veya güncel bir indeks kullanan kod grafiği sunucularının aksine diffctx, diff tabanlıdır; yani girdi belirli bir değişiklik, çıktı ise bu değişikliğin temas ettiği kısımlardır.
diffctx çalışmak için bir indeks veya model çağrısı gerektirir mi?
Hayır, yerel olarak çalışır ve bir indeks gerektirmeden veya model çağrıları yapmadan deterministik bir şekilde işler.
LLM'e gönderilen kod miktarını sınırlayabilir miyim?
Evet, çıktıyı belirli bir token sayısıyla sınırlamak için --budget bayrağını kullanabilirsiniz.