mrkeyoor.com_
Thu 17 Sept 09:10 UTC
AI Toolsevaluationupdated 26 Aug 2026

code-review-graph review

code-review-graph builds a local SQLite graph of functions, classes, imports, calls, tests, and changed files, then exposes focused slices through a CLI and MCP server. Its purpose is to stop coding agents from rereading an entire repository when they only need the code and tests affected by a change.

+170stars / 7d
Verdict

Our install consumed 5,344 MB and the test suite reached only 16% before a 900-second timeout, so code-review-graph is a deliberate toolchain addition rather than a lightweight MCP extra. Trial it on a large repository when agent context selection is a measured problem, and compare every proposed impact path with code review evidence. Avoid using its scores as a merge gate until your languages, watch mode, and MCP client pass local acceptance tests.

We ran it

Lab card: what happened when we ran code-review-graphScreenshot of code-review-graph (code-review-graph.com)
Install✓ · 90s172 packages · 5344 MB
Build✓ · 6s
Tests✗ timed out · 900sran, no count parsed
Known vulns1(pip-audit)
Repo389 files~110,363 lines of source · 10.6 MB · 5 CI workflows · tests dir

Answers from our run

Does code-review-graph build from source?

Dependencies installed in 90 seconds (172 packages), and the build succeeded in 6 seconds. We cloned commit 3887605 into a clean Debian container with 3 CPUs and no project-specific setup.

Do code-review-graph's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Does code-review-graph have known vulnerabilities in its dependencies?

pip-audit flagged 1 known advisory in the dependency tree at the time of our run.

Who should not use code-review-graph?

Teams requiring a quick, bounded test run: our suite hit the 900-second cap while output showed only 16% progress.

What are the alternatives to code-review-graph?

Joern, Semgrep, SCIP. Our install consumed 5,344 MB and the test suite reached only 16% before a 900-second timeout, so code-review-graph is a deliberate toolchain addition rather than a lightweight MCP extra.

Setup2/5Simple commands, offset by 5.3 GB and config-writing integration
Docs5/5Detailed usage, limits, benchmarks, uninstall, and reproduction notes
Community4/5Recent release and busy reports, with many fresh correctness issues
Maturity2/5Useful surface, but our suite timed out and parser gaps are open

Discussed on

  1. hnCode-review-graph: persistent code graph that cuts Claude Code token usage12 points

Who it’s for

Teams using MCP-capable coding agents on repositories large enough that context selection is costly.
Claude Code and Codex users who want installable graph-aware rules, skills, hooks, and review commands.
Maintainers who need a local blast-radius map, changed-file review, or interactive dependency graph.
Developers willing to verify static-analysis results against the source before acting on them.

Who it’s NOT for

Teams requiring a quick, bounded test run: our suite hit the 900-second cap while output showed only 16% progress.
Review gates that cannot tolerate known parser gaps: the README reports 33% flow-detection recall and search MRR of 0.35, with Express queries returning no hits in its evaluation.
Developers who expect graph output to be ground truth: the README says its published 1.0 impact recall is circular because expected results come from the same graph.
Users unwilling to let an installer edit agent configuration, project rules, hooks, and skills, even though a dry-run uninstall is provided.
Teams relying on aliased Python imports or perfect MCP conformance today: open issues report missed import X as Y edges and 7 specification violations.

Setup reality

Our Python sandbox installed 172 packages in 90 seconds and used 5,344 MB on disk. The build completed in 6 seconds. Tests ran until the 900-second limit and timed out; the last output showed steady dots and progress from 2% through 16%, without a failure traceback. pip-audit found 1 known vulnerability.

The README requires Python 3.10 or newer. install detects supported coding tools and writes their MCP configuration plus platform-specific hooks, skills, or rules; build then parses the repository into local SQLite. Optional semantic search can use local sentence transformers or hosted embedding providers, which may require model downloads, endpoints, or API keys.

The checkout measured 10.6 MB, 389 files, and about 110,363 source lines. It had 5 CI workflow files, a tests directory, and no Dockerfile. Installed dependencies occupied more than 5 GB in our environment, so disk cost and the unfinished 15-minute suite should be budgeted into CI and developer setup.

The graph gives agents a smaller reading list

code-review-graph parses a repository with Tree-sitter and stores functions, classes, imports, calls, inheritance, tests, and file relations in SQLite. When code changes, it traces callers and dependents to produce a review set rather than handing an agent the whole tree. The same data supports architecture maps, execution flows, affected tests, risk panels, graph exports, and cross-repository search. MCP tools make those answers available inside coding assistants.

The idea is useful because agent context is finite and repeated file reads cost time and tokens. The tool supports Python, JavaScript and TypeScript, Go, Rust, Java, C and C++, C#, Ruby, Kotlin, Swift, PHP, and many more formats. It also recognizes notebooks, Terraform structure, common single-file components, and user-defined Tree-sitter languages. Breadth is an attraction, but each parser has different semantic depth.

Installation changes agent configuration and project files

The quick start installs the Python package, runs code-review-graph install, and builds a graph. The installer detects Codex, Claude Code, Cursor, Windsurf, Zed, Continue, OpenCode, Gemini CLI, GitHub Copilot, and other platforms. Depending on the target, it writes MCP configuration, platform rules, hooks, or skills. That is more invasive than starting a read-only server by hand, so inspect the changes in a clean working tree.

Removal is better designed than many agent plugins. uninstall --dry-run previews its actions, ordinary uninstall asks for confirmation, and flags can retain graph data or user configuration. The README says unrelated MCP servers, hooks, skills, and JSONC comments remain untouched. Those are claims worth testing against your editor's exact files. Back up shared configuration before the first install, especially if several tools already write to it.

What happened when we ran it

Our fresh Python 3.12 sandbox installed 172 packages in 90 seconds. The installed environment occupied 5,344 MB, while the repository checkout itself was only 10.6 MB with 389 files and roughly 110,363 source lines. The build stage completed in 6 seconds.

The test command kept running until our 900-second cap. Its final output showed rows of passing dots and percentage markers at 2, 4, 7, 9, 12, 14, and 16 percent, then stopped mid-row. There was no failure traceback in the supplied tail, so the finding is a timeout, not failed assertions. We cannot state how many tests completed or whether the remaining suite would pass. pip-audit also reported 1 known vulnerability without package or severity detail.

The repository had a tests directory and 5 CI workflow files, but no Dockerfile. Our environment had 3 CPUs and 8 GB of RAM. Teams should reproduce the full suite with their own timeout, capture its duration, and identify slow groups before adding it to a merge gate.

The README is unusually candid about weak measurements

The project publishes context-reduction and impact evaluations, then explains where they mislead. Its graph-derived recall reaches 1.0 because the expected relationships come from the graph being tested, which makes the result circular. An independent co-change mode returned no predicted files on every graded commit in the August 2 capture, so the README refuses to quote an accuracy number from it. That honesty is more useful than a large headline ratio.

Other limits are concrete. The README reports search MRR of 0.35 and says Express queries returned no hits because of module naming. Flow detection reached 33% recall, with Python and PHP or Laravel stronger than JavaScript and Go. Small single-file edits can cost more graph context than reading the changed file. These figures mean the tool should propose where to look, while a human or agent verifies the actual call paths and tests.

Version 2.3.8 fixed watch mode, then new gaps appeared

Release 2.3.8 shipped on August 21, 2026, after 85 merged pull requests since 2.3.7. Its notes describe fixes for ignored directories exhausting watch limits, replaced directories going silent, symlinked repositories missing events, inconsistent repository-root spelling, and oversized tool responses. It also added clearer explanations for empty query results instead of returning an unexplained zero.

The repository was pushed on August 22. GitHub lists 111 open issues and pull requests combined; a search excluding pull requests found 69 open issues. Fresh reports include watch health saying OK after registration failure, an update fallback replacing another repository's graph, Python test lookup returning zero, and four query tools still producing unbounded responses. One issue reports 7 failures against an MCP conformance test for the July 28 specification.

Local storage keeps code private, with optional model calls

The core graph lives under .code-review-graph/ in SQLite and does not need a hosted database. The GitHub Action builds and queries it on the CI runner. Exports can include absolute paths and structural metadata, and the README warns users to sanitize them before publishing. That is a useful privacy boundary for source code, though MCP clients still decide what graph answers enter a model conversation.

Semantic search is optional. Local sentence-transformer embeddings keep that step on the machine, while Gemini, MiniMax, Voyage AI, and OpenAI-compatible providers add external services and credentials. Teams with strict source controls should confirm exactly what text each provider receives. Static graph queries can remain local and avoid that question entirely.

Use it as evidence, never as the reviewer

Joern is better suited to security-oriented code property graph work. Semgrep fits deterministic CI rules. SCIP supplies a common indexing format for teams building their own navigation or analysis layer. code-review-graph is aimed directly at MCP and coding-agent workflows, with install scripts and prompts that reduce the effort to put graph queries in a chat.

Our run makes a trial reasonable but blocks a blanket recommendation. The package builds, documentation names real limitations, and the local graph is easy to remove. The 5.3 GB environment, timed-out suite, parser gaps, and fresh correctness issues require a controlled pilot. Measure whether agents actually read fewer files and catch more relevant tests on your repository. If that evidence is missing, the graph is extra machinery.

Alternatives

ProjectWhat it isPick it when
JoernA code property graph platform for deep static analysis and security queries.pick this instead when security analysis and a queryable program graph matter more than coding-agent context selection.
SemgrepA static-analysis engine for matching code patterns and enforcing security or quality rules.pick this instead when deterministic rules and CI findings are the job, rather than conversational graph queries.
SCIPA language-neutral code-index format for definitions, references, and navigation data.pick this instead when you need an interoperable index format and will build the review workflow separately.

What people are saying

  1. [github-trending] tirth8205/code-review-graph

Sources

  1. code-review-graph README
  2. code-review-graph v2.3.8 release
  3. Benchmark reproduction notes
  4. code-review-graph open issues

More ai tools reviews

yolov5 · eve · MemOS · LongCat-Video · Concat · DLSS5-Feeder · the whole board →