Yapay zeka kodlama asistanları için semantik arama, çağrı grafiği gezintisi ve etki analizi sağlamak amacıyla kod tabanlarını yapılandırılmış bir AST bilgi grafiğine indeksler.
Ayrıca bilinen adı sdsrss/code-graph-mcp, @sdsrs/code-graph
- Yıldızlar
- 96
- Araçlar
- 7
- İndirmeler, 30 gün
- —
- En son sürüm
- —
- Son commit
- 12 Kas 2026
- Lisans
- MIT
code-graph MCP nedir?
code-graph bir MCP sunucusudur. Yapay zeka kodlama asistanları için semantik arama, çağrı grafiği gezintisi ve etki analizi sağlamak amacıyla kod tabanlarını yapılandırılmış bir AST bilgi grafiğine indeksler. 7 araç sunar; örneğin project_map, semantic_code_search, get_call_graph.
Özet, projenin README dosyasından oluşturuldu
code-graph MCP sunucusu hakkında
Claude Code, Cursor veya Windsurf gibi yapay zeka kodlama asistanlarını kullanan geliştiriciler, modellerine tüm kod tabanları hakkında derin ve yapılandırılmış bir anlayış kazandırmak için bu sunucuyu kullanabilirler. Kaynak kodu yapılandırılmış bir AST bilgi grafiğine indeksleyerek çalışır; bu sayede yapay zekanın basit metin aramalarının ötesine geçerek semboller arasındaki karmaşık ilişkileri anlamasını sağlar. Sunucu, yerleşik bir SQLite veritabanına sahip tek bir binary olarak makinenizde yerel olarak çalışır; harici bulut API'lerine veya Docker konteynerlarına ihtiyaç duymaz.
TypeScript, Python, Go, Rust, Java ve C++ dahil olmak üzere birçok dil için çok dilli ayrıştırmayı destekler; Express, Flask ve FastAPI gibi framework'ler için HTTP rota takibi gibi özel özelliklere sahiptir. Sistem, BM25 tam metin sıralamasını sqlite-vec aracılığıyla vektör semantik aramasıyla birleştiren hibrit bir arama yaklaşımı kullanır. Ayrıca, yalnızca değişen dosyaların yeniden işlenmesini sağlamak için Merkle ağaçlarını kullanan artımlı indeksleme özelliğine sahiptir ve ilgili kod parçacıklarının LLM bağlam pencerelerine verimli bir şekilde sığmasına yardımcı olmak için token duyarlı bağlam sıkıştırma sağlar.
Neler yapabilirsiniz
- 1Kod değişikliklerinin etkisini analiz edinBelirli bir fonksiyonun veya değişkenin değiştirilmesinin sistemin diğer kısımlarını nasıl etkileyeceğini belirleyin.
- 2HTTP istek akışlarını takip edinBelirli bir URL yolunu, isteği işleyen backend işleyici fonksiyonuyla doğrudan eşleştirin.
- 3Karmaşık çağrı zincirlerinde gezininÜst düzey bir fonksiyondan başlayarak servis mantığının birçok katmanı boyunca yürütme yolunu izleyin.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
code-graph MCP nasıl yüklenir
Biçimler 10 Kas 2026 tarihinde doğrulandıCursor'a ekleGoose'a eklecode-graph MCP'yi Claude Code içine yükleyin
$ claude mcp add code-graph-mcp -- npx -y @sdsrs/code-graphcode-graph MCP'yi Cursor içine yükleyin
~/.cursor/mcp.json
{
"mcpServers": {
"code-graph-mcp": {
"command": "npx",
"args": [
"-y",
"@sdsrs/code-graph"
]
}
}
}code-graph MCP'yi VS Code içine yükleyin
.vscode/mcp.json
{
"servers": {
"code-graph-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sdsrs/code-graph"
]
}
}
}code-graph MCP'yi VS Code CLI içine yükleyin
$ code --add-mcp '{"name":"code-graph-mcp","type":"stdio","command":"npx","args":["-y","@sdsrs/code-graph"]}'code-graph MCP'yi Claude Desktop içine yükleyin
claude_desktop_config.json
{
"mcpServers": {
"code-graph-mcp": {
"command": "npx",
"args": [
"-y",
"@sdsrs/code-graph"
]
}
}
}code-graph MCP'yi Codex içine yükleyin
$ codex mcp add code-graph-mcp -- npx -y @sdsrs/code-graphcode-graph MCP'yi Codex config.toml içine yükleyin
~/.codex/config.toml
[mcp_servers.code-graph-mcp] command = "npx" args = ["-y", "@sdsrs/code-graph"]
code-graph MCP'yi Gemini CLI içine yükleyin
$ gemini mcp add -s user code-graph-mcp npx -- -y @sdsrs/code-graphcode-graph MCP'yi Gemini settings.json içine yükleyin
~/.gemini/settings.json
{
"mcpServers": {
"code-graph-mcp": {
"command": "npx",
"args": [
"-y",
"@sdsrs/code-graph"
]
}
}
}code-graph MCP araçları 7
README dosyasından algılandıproject_mapsemantic_code_searchget_call_graphget_ast_nodemodule_overviewast_searchfind_references
| project_map | — | |
| semantic_code_search | — | |
| get_call_graph | — | |
| get_ast_node | — | |
| module_overview | — | |
| ast_search | — | |
| find_references | — |
Yapılandırma
CODE_GRAPH_MODEL_DIRCODE_GRAPH_QUIET_HOOKS
| Ad | Açıklama | Sunucu |
|---|---|---|
| CODE_GRAPH_MODEL_DIR | — | |
| CODE_GRAPH_QUIET_HOOKS | — |
Otomatik kontroller
Çalıştırıldı 12 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şilebilirGeçti
- Açık kaynak lisansı (OSI)Geçti
- Son bir yıl içinde commit veya sürüm mevcutGeçti
- Paket adı popüler bir pakete yakın değilGeçti
- Uzak uç nokta HTTPS kullanıyorKontrol edilmedi
- Yıkıcı araçlar etiketlenmişGeçti
- Modele yönelik gizli talimat yokGeçti
- Pakette veya bağımlılıklarında kritik uyarı yokKontrol edilmedi
code-graph-mcp
A high-performance code knowledge graph server implementing the Model Context Protocol (MCP). Indexes codebases into a structured AST knowledge graph with semantic search, call graph traversal, and HTTP route tracing — designed to give AI coding assistants deep, structured understanding of your code.
Features
- Multi-language parsing — Tree-sitter AST extraction across tiers of depth:
- Full (calls + imports + inheritance): TypeScript/TSX, JavaScript, Go, Python, Rust, Java. HTTP route extraction additionally covers TypeScript/TSX + JavaScript (Express/Connect), Go (
net/http), Python (Flask/FastAPI), and Rust axum (.route()chains with inline.nest()prefixes; named handlers only) — actix/rocket and Java Spring are not yet route-extracted - Smoke-tested (calls + imports + inheritance): C#, Kotlin, Ruby, PHP, Swift, Dart
- Limited (functions + calls +
#includeimports + gtest test markers + C++ base-class inheritance +Class::methodscope qualification): C, C++ - Scripting: Bash (functions + commands +
source/.imports), Markdown (headings) - File-FTS only (no AST symbol extraction): HTML, CSS, JSON
- Test markers — detected from the AST for Rust (
#[test]/#[cfg(test)]), JavaScript/TypeScript/TSX (describe/it/testblocks and their callbacks) and C/C++ (gtestTESTmacros). Go, Python, Java and the rest fall back to path/name heuristics (tests/,src/test/java/,*_test.*,*.test.js,test_*,*Test) - Value/type references — a
referencesrelation for symbols that are used without being called, imported or inherited (path-qualified constants, type-position uses, functions passed as values): Rust, TypeScript/TSX, JavaScript, Python, Go, Java, C, C++
- Full (calls + imports + inheritance): TypeScript/TSX, JavaScript, Go, Python, Rust, Java. HTTP route extraction additionally covers TypeScript/TSX + JavaScript (Express/Connect), Go (
- Semantic code search — Hybrid BM25 full-text + vector semantic search with Reciprocal Rank Fusion (RRF), powered by sqlite-vec
- Call graph traversal — Recursive CTE queries to trace callers/callees with cycle detection
- HTTP route tracing — Map route paths to backend handler functions (Express, Flask/FastAPI, Go
net/http, Rust axum) - Dead code detection — Find unreferenced symbols with smart Orphan/Exported-Unused classification
- Impact analysis — Determine the blast radius of code changes by tracing all dependents
- Incremental indexing — Merkle tree change detection with a file system watcher; changed files are re-indexed when the next MCP query tool call arrives (
get_index_statusdoes not count). Smart event filtering skips metadata-only changes (chmod, xattr) - Context compression — Token-aware snippet extraction for LLM context windows (L0→full code, L1→summaries, L2→file groups, L3→directory overview). Every MCP tool except
ast_searchtakescompact: true, which drops code bodies from the response; what else it trims is per-tool (get_ast_nodekeeps the signature,module_overviewdrops it), and how much it saves depends on the tool and the repo, so no fixed figure is quoted here - Embedding model — Optional local embedding via Candle (feature-gated
embed-model). Context reordered to prioritize structural relations over code for better embedding quality - Self-healing — Automatic SQLite corruption recovery with rebuild. Startup repair for incomplete indexing (Phase 3 failures)
- MCP protocol — JSON-RPC 2.0 over stdio, plug-and-play with Claude Code, Cursor, Windsurf, and other MCP clients
- Claude Code Plugin — First-class plugin with skills (
explore,index), acode-exploreragent, auto-indexing hooks, StatusLine integration, and self-updating
Why code-graph-mcp?
Unlike naive full-text search or simple AST dumps, code-graph-mcp builds a structured knowledge graph that understands the relationships between symbols across your entire codebase.
Incremental by Design
BLAKE3 Merkle tree tracks every file's content hash. On re-index, only changed files are re-parsed — unchanged directory subtrees are skipped entirely via mtime cache. When a function signature changes, dirty propagation automatically regenerates context for all downstream callers across files.
Hybrid Search, Not Just Grep
Combines BM25 full-text ranking (FTS5) with vector semantic similarity (sqlite-vec) via Reciprocal Rank Fusion (RRF) with raw score blending — so searching "handle user login" finds the right function even if it's named authenticate_session. Results are auto-compressed to fit LLM context windows.
Scope-Aware Relation Extraction
The parser doesn't just find function calls — it tracks them within their proper scope context. Extracts calls, imports, inheritance, interface implementations, exports (ESM export and CommonJS module.exports = { … } / exports.name = …), value/type references, and HTTP route bindings. Same-file targets are preferred over cross-file matches to minimize false-positive edges.
HTTP Request Flow Tracing
Unique to code-graph-mcp: trace from GET /api/users → route handler → service layer → database call in a single query. Supports Express/Connect, Flask/FastAPI, Go net/http, and Rust axum.
Zero External Dependencies at Runtime
Single binary, embedded SQLite, bundled sqlite-vec extension, optional local embedding model via Candle — no database server, no cloud API, no Docker required. Runs entirely on your machine.
Built for AI Assistants
Every design decision — from token-aware compression to node_id-based snippet expansion — is optimized for LLM context windows. Works out of the box with Claude Code, Cursor, Windsurf, and any MCP-compatible client.
Performance
Every row below is a line code-graph-mcp benchmark prints, measured on this
repository (283 files, 5,311 nodes, 11,215 edges) with a release build — median
of three consecutive runs on an otherwise idle machine. Run the same command on
your own project: the numbers that matter are yours, and these scale with tree
size and machine.
benchmark line |
This repo, v0.129.0 |
|---|---|
| Full index | ~2.0s (≈139 files/second, single-threaded) |
| Incremental (noop) | ~28ms no-change detection via BLAKE3 Merkle tree |
| Query latency P50 / P99 | ~655us / ~2.1ms |
| DB size | ~22.4MB (≈4.2MB per 1,000 nodes) |
| Avg tokens/node | ~242 |
Efficiency: code-graph vs Traditional Tools
How many TOOL CALLS each question takes, comparing code-graph-mcp against Grep
- Read + Glob. These are call counts, not token measurements: the left column is the round trips the traditional approach needs before it can answer, the right column is the single call that answers it. Token cost follows call count only loosely — how much source lands in the context window depends on the files, so this table does not claim a token ratio.
Tool Call Reduction
| Scenario | Traditional | code-graph | Savings |
|---|---|---|---|
| Project architecture overview | 5-8 calls | 1 call (project_map) |
~85% |
| Find function by concept | 3-5 calls | 1 call (semantic_code_search) |
~75% |
| Trace 2-level call chain | 8-15 calls | 1 call (get_call_graph) |
~90% |
| Pre-change impact analysis | 10-20+ calls | 1 call (get_ast_node + include_impact) |
~95% |
| Module structure & exports | 5+ calls | 1 call (module_overview) |
~80% |
| File dependency mapping | 3-5 calls | 1 call (module_overview + include_deps) |
~75% |
| Similar code detection | N/A | 1 call (get_ast_node + include_similar) |
unique |
Session token savings
tests/effectiveness_bench.rs is the only reproducible number here, and it is
worth being precise about what it measures. For each of five navigation tasks it
runs the real CLI on a fixture project and compares the response size in bytes
against a hand-set baseline_bytes for the Grep+Read approach. Bytes stand
in for tokens; the baselines are estimates committed once and held fixed, so its
value is regression tracking over releases, not a measurement of your project.
cargo build --no-default-features
cargo test --test effectiveness_bench --no-default-features -- --ignored --nocapture
On the fixture at v0.123.0 that prints 942 / 23000 = 0.04x, and the test fails
if the overall ratio ever exceeds 0.60. Earlier revisions of this README carried
an "Overall Session Efficiency" table (~80% fewer calls, ~95% fewer lines read,
40-60% session savings) whose first rows had no source at all; they are gone
rather than dressed up.
What code-graph Uniquely Enables
- Impact analysis — "Changing
connaffects 33 functions across 4 files, 78 tests at HIGH risk" — impossible to derive manually with Grep - Transitive call tracing — Follow
main→run_serve→handle_message→handle_tools_call→connin one query - Semantic search — Find
authenticate_sessionwhen searching "handle user login" - Dependency strength — Not just "file A imports file B", but "file A uses 38 symbols from file B"
When Traditional Tools Are Still Better
| Use Case | Best Tool |
|---|---|
| Exact string / constant search | Grep |
| Reading a file to edit it | Read |
| Finding files by name pattern | Glob |
What the Graph Does Not See
Call edges are resolved by name, so a few spellings produce no edge. These are known boundaries, not bugs to report:
- A method call reached through a module path.
module::Type::method()produces no call edge — the same whether the path starts with the crate name,crate::, or a bare module. A bareType::method()does resolve, and so does a free function through the same kind of path:my_crate::cli::cmd_grep()binds, whichpath_qualifier_strips_own_crate_nameintests/integration_call_qualifier.rsexists to keep true. It is theType::segment in front of the method that drops the edge, not the length of the path. Measured on this repo at v0.132.0:Database::openhas 173 caller edges and none of them come from the 53 call sites intests/cli_e2e.rsspelledcode_graph_mcp::storage::db::Database::open(...). - A receiver call whose method name is shared by several types.
obj.method()normally resolves: the receiver has no statically-known type, so the resolver binds it when exactly one same-language method carries that name (receiver_call_resolves_unique_method). When several types define the same name it is dropped rather than fanned out (receiver_call_with_ambiguous_method_name_stays_unresolved). - Cross-file constant and type-position uses, callbacks, and function
pointers. None of these are call edges, but none are invisible either: they
are carried as the
referencesrelation, whichfind_referencesreturns andimpactreports separately asvalue reference(s) — callbacks / fn-pointers / type positions. Together with the row above, this is whyinclude_deadresults are candidates to verify rather than a verdict. - Dispatch by name. A function reached through a string key, a reflection
call or an event name (
handlers["save"],getattr(obj, "save"),send(:save),bus.on("save", …)) has no edge. Whencallgraph,impactorrefsfinds no caller for a function, the answer lists up to 5 lines where the name appears in such a shape or is passed as a value (boundariesin--jsonand MCP), and acode-graph-mcp grepthat shows every occurrence. It is a disclosure, not an edge, and a lexical one: a line it does not list is not proof that nothing dispatches to the function.
Architecture
src/
├── domain.rs # Shared constants, relation types, env-var config
├── resolve.rs # Shared symbol resolution + ambiguity verdicts (CLI and MCP)
├── outcome.rs # Retrieval-adoption metrics from session transcripts
├── budget.rs # Output budgets (--budget / max_tokens): rank, shorten, drop, next step
├── cli/ # Every `code-graph-mcp <cmd>` subcommand (one file per command)
├── mcp/ # MCP protocol layer (JSON-RPC, tool registry, server)
│ └── server/ # McpServer with IndexingState + CacheState sub-structs
├── parser/ # Tree-sitter parsing, relation extraction, LanguageConfig dispatch
├── indexer/ # 3-phase pipeline, Merkle tree, file watcher
├── storage/ # SQLite schema (v10), CRUD, FTS5, migrations
├── graph/ # Recursive CTE call graph queries
├── search/ # RRF fusion search combining BM25 + vector
├── embedding/ # Candle embedding model (optional, masked mean pooling)
├── snapshot/ # Portable graph snapshots (create / verify / install)
├── sandbox/ # Context compressor with token estimation
└── utils/ # Language detection, config
Installation
Option 1: Claude Code Plugin (Recommended)
Install as a Claude Code plugin for the best experience — includes skills, the code-explorer agent, auto-indexing hooks, StatusLine health display, and automatic updates:
# Step 1: Add the marketplace
/plugin marketplace add sdsrss/code-graph-mcp
# Step 2: Install the plugin
/plugin install code-graph-mcp
What you get:
- MCP Server — All code-graph tools available to Claude
- Skills —
explore(structure-first navigation before reading files) andindex(health-check / re-index / full rebuild); see Plugin Skills - Code Explorer Agent — Deep code understanding expert via
code-explorer - Auto-indexing — The MCP server's file watcher records edited files, and the next code-graph MCP query (
get_call_graph,find_references, … — notget_index_status) re-indexes them before it answers; a PostToolUse hook that re-indexes per edit is off by default (CODE_GRAPH_HOOK_INDEX=onturns it on for CLI-only use) - StatusLine — Real-time health display (nodes, files, watch status) and what code-graph did in this session (
5 answers · 2 calls: answers its grep, edit, read, subagent and Stop hooks delivered to Claude, code-graph queries Claude ran) — compatible with other plugins' StatusLine via composite multiplexer - Auto-update — Checks for a new version at session start (throttled to at most one check every 2 minutes). Between forced checks the re-check interval is 30 minutes after an "up to date" answer and 6 hours while an update is already pending. Updates install silently.
Manual Update
npm update -g @sdsrs/code-graph
Then reconnect the MCP server in Claude Code with /mcp.
Note: Auto-update is disabled in the source repo directory (dev mode). Use manual update when developing the plugin itself.
Turning auto-update off
| Environment variable | Effect |
|---|---|
CODE_GRAPH_NO_AUTO_UPDATE=1 |
Skips the update check entirely — no version check, no download, and no updater process is started. A missing binary is still installed on first run, so the MCP server can't be left with no engine. Update manually with the command above. |
Set it in the env block of ~/.claude/settings.json (the environment of the
process hosting the MCP server), then reconnect with /mcp.
An update that keeps failing also stops hammering: after 5 failed attempts at
the same release the updater drops to one retry per day (and retries
immediately when a newer release is published), instead of re-downloading on
every session. While it is in that state the statusline shows ⚠ update stuck
and code-graph-mcp doctor prints the manual update command.
Invited-memory mode (quieter prompts)
By default, every user prompt the plugin deems code-related gets a small context injection from code-graph CLI output. If you'd rather rely on explicit tool calls, opt into invited-memory mode:
- Adopt the plugin contract into your project (idempotent, self-heals):
This writes a sentinel-wrapped managed block intocode-graph-mcp adopt<cwd>/CLAUDE.md(auto-loaded each session) plus<cwd>/.claude/plugin_code_graph_mcp.md(the full decision table, opened on demand). Runcode-graph-mcp unadoptto remove both; content outside the managed block is kept. - Set the activation env var in
~/.claude/settings.json:{ "env": { "CODE_GRAPH_QUIET_HOOKS": "1" } } - Restart Claude Code. The hooks inject nothing (the grep, read, edit, prompt, subagent and Stop hooks stay silent, and session startup skips the project-map injection), and the MCP
instructionsshrink to a one-line command pointer.
Option 2: Claude Code MCP Server Only
Register as an MCP server without the plugin features:
claude mcp add code-graph-mcp -- npx -y @sdsrs/code-graph
Option 3: Cursor / Windsurf / Other MCP Clients
Add to your MCP settings file (e.g. ~/.cursor/mcp.json):
{
"mcpServers": {
"code-graph": {
"command": "npx",
"args": ["-y", "@sdsrs/code-graph"]
}
}
}
Option 4: npx (No Install)
Run directly without installing:
npx -y @sdsrs/code-graph
Option 5: npm (Global Install)
Install globally, then run anywhere:
npm install -g @sdsrs/code-graph
code-graph-mcp
Uninstallation
Claude Code Plugin
# Uninstall the plugin
/plugin uninstall code-graph-mcp
# (Optional) Remove the marketplace
/plugin marketplace remove code-graph-mcp
# (Optional) Clean up all config and cache data
node ~/.claude/plugins/cache/code-graph-mcp/code-graph-mcp/*/scripts/lifecycle.js uninstall
Claude Code MCP Server
claude mcp remove code-graph-mcp
Cursor / Windsurf / Other MCP Clients
Remove the code-graph entry from your MCP settings file (e.g. ~/.cursor/mcp.json).
npm (Global)
Run the teardown first, while the CLI still exists — npm 7 removed the
preuninstall/postuninstall lifecycle scripts, so nothing runs on your behalf
during npm uninstall. Doing it in the other order leaves the hook entries in
~/.claude/settings.json and the ~40 MB binary cache behind, with no command
left on disk to remove them.
code-graph-mcp uninstall # restore statusline, strip hooks, drop the cache
npm uninstall -g @sdsrs/code-graph
Built from source (cargo)
uninstall lives in the npm wrapper, so a cargo install / cargo build binary
does not carry it — that binary tells you as much and points here. Run the
teardown through npx without installing globally (npx still downloads the package
and its platform binary into the npm cache), then remove your binary:
npx -y @sdsrs/code-graph uninstall # statusline, hooks, cache
cargo uninstall code-graph-mcp # or delete the target/release binary
MCP Tools
tools/list advertises exactly these seven. Several older niche tools were folded into flags on them, so one call now covers what used to take a separate tool:
| Tool | Description |
|---|---|
project_map |
Full project architecture: modules, dependencies, entry points, hot functions. include_centrality adds architectural chokepoints |
semantic_code_search |
Hybrid BM25 + vector search (RRF) for AST nodes. Supports compact mode |
get_call_graph |
Trace upstream/downstream call chains for a function. Pass route_path='GET /api/x' to trace an HTTP route → handler → downstream instead |
get_ast_node |
One symbol with signature, body and relations. include_impact adds the blast radius, include_similar embedding-similar nodes, include_references callers/callees. Supports compact mode |
module_overview |
Symbols in a directory or file, grouped by type and caller count. include_dead lists unreferenced symbols under the path; include_deps adds the file dependency graph (single-file paths only) |
ast_search |
Search AST nodes by text and/or structural filters (type, return type, params) |
find_references |
Find all references to a symbol (callers, importers, inheritors, implementors, value/type references). Supports compact mode |
Output budget. project_map, module_overview, get_call_graph and get_ast_node take an optional max_tokens (100-100000, counted as bytes/3 of the JSON answer). The answer is ranked by caller count; lower-ranked items are first shortened (no key symbols, no signature, no source body), then left out, and never cut in the middle. A budget object reports what was shortened or left out and budget.next holds the CLI command that returns it (one per section that lost entries, joined by ; ). On module_overview and project_map, budget.over_budget is true when even the fixed part of the answer is larger than the budget. Without max_tokens the answer is unchanged. Every existing size cut in these four tools (hot_functions_truncated, active_capped, the call-graph rollup, compressed_node, _truncated) now carries a next command too.
Hidden aliases. These names are not in tools/list but still dispatch via tools/call, so existing clients keep working: trace_http_chain / find_http_route (→ get_call_graph with route_path), read_snippet (→ get_ast_node), dependency_graph, find_similar_code, find_dead_code, plus the management tools start_watch, stop_watch, get_index_status and rebuild_index. impact_analysis is removed — calling it returns Unknown tool; use get_ast_node with include_impact=true, or the CLI's impact --json for the full report.
code-graph MCP soruları
code-graph MCP'yi Claude Code'a nasıl eklerim?
Terminalinizde claude mcp add code-graph-mcp -- npx -y @sdsrs/code-graph komutunu çalıştırın. Her projede kullanılabilir olması için --scope user ekleyin.
code-graph 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.
code-graph MCP hangi araçları sunar?
7 araç sunar; bunlar arasında project_map, semantic_code_search, get_call_graph, get_ast_node, module_overview yer alır.
Hangi programlama dilleri destekleniyor?
TypeScript, JavaScript, Go, Python, Rust, Java, C#, Kotlin, Ruby, PHP, Swift, Dart, C ve C++ dahil olmak üzere geniş bir dil yelpazesini farklı AST derinlik seviyelerinde destekler.
Kod değişikliklerini nasıl yönetiyor?
Sadece değişen dosyaları yeniden indekslemek için Merkle ağacı değişiklik algılama ve bir dosya sistemi izleyicisi kullanarak artımlı indeksleme yapar.
HTTP rotalarını takip edebilir mi?
Evet; Express/Connect, Flask/FastAPI, Go net/http ve Rust axum için rota yollarını backend işleyici fonksiyonlarıyla eşleyebilir.