AgentToolDrop

24 of 53

code-review-graph

Builds a local code graph and serves it over MCP so coding agents read only the files a change touches

  • score 45
  • 32.2k stars
  • 139 stars/day since creation
  • pushed
  • v2.3.9 on
  • MIT

Install with pip or pipx, configure detected tools, build the graph

pip install code-review-graph          # or: pipx install code-review-graph
code-review-graph install              # detect installed AI coding tools and configure each one
code-review-graph build                # parse the codebase

Copied from the project's docs at github.com/tirth8205/code-review-graph

Why you'd want it

code-review-graph parses a repository with Tree-sitter into a graph of functions, classes, imports, calls, inheritance and test coverage, stored in one local SQLite file. It serves that graph over MCP and a CLI, and its install command detects the AI coding tools you have and writes an MCP server entry for each. Blast-radius analysis traces the callers, dependents and tests a changed file could affect, and a detect-changes tool maps diffs to risk-scored functions, flows and test gaps. Hooks, a pre-commit hook and watch mode update the graph incrementally, re-parsing only files whose hash changed. The README reports a median per-question token reduction of about 63x across 6 repositories against a whole-corpus baseline, and itself calls that baseline an upper bound no real agent pays.

Best for

  • Blast-radius context for code review
  • A persistent repo map for MCP clients
  • Risk-scored PR comments in CI

Use it when

You use a supported AI coding tool such as Claude Code, Cursor or Codex on a sizeable repository and want it to query a structural map instead of re-reading files.

Skip it if

The README's FAQ lists small repos, trivial single-file diffs and one-off questions as poor fits, and its limitations section says graph context can exceed a plain file read for trivial edits, search ranking needs work, JavaScript and Go flow detection needs work, and impact analysis flags false positives in large dependency graphs. The install command writes MCP entries, hooks, skills and rules-file instructions into your tools' configs (an uninstall command is provided). Optional cloud embeddings take API keys and send source-derived text to the provider, though the README says the tool has no telemetry.

Editor's note

The token-reduction figures are the README's own benchmark claims (snapshot of 2026-08-02, see docs/REPRODUCING.md); we have not reproduced them. The README does not label the project alpha or beta; its beta and preview wording is advice about embedding model IDs. Requires Python 3.10+.

Same category or shared tags.

  1. Rank 52

    Gives agents Exa web search and page fetching as MCP tools, with optional multi-step research runs

    • score 20
    • 5.1k stars
    • 7.5 stars/day since creation
    • pushed
    • MIT

    Install the Claude Code plugin

    claude plugin install exa@claude-plugins-official
    Use it when, skip it if, stats for Exa MCP Server

    Why you'd want it

    Exa hosts the server at mcp.exa.ai/mcp and it works without an API key under rate limits, so setup is a URL or a plugin install. The default tools are web_search_exa, which returns clean content for search results, and web_fetch_exa, which reads pages as markdown; advanced search with domain and date filters and Exa Agent runs for multi-step research can be turned on with the tools URL parameter. The repo also ships search and exa-agent skills that load with plugin installs.

    Best for

    • Coding agents that need current web results
    • Multi-step research and list-building
    • Improving built-in web search in Claude, ChatGPT or Codex

    Use it when

    Your agent needs to search the web or read pages as clean markdown and you want a hosted server with nothing to install.

    Skip it if

    You need more than light anonymous use: the keyless server is rate-limited, and Exa Agent requires OAuth or an Exa API key.

    Stats

    New and rising score
    20 of 100
    Stars per day, since repo creation
    7.5
    License
    MIT
    Pricing
    Open source
    Works with
    Any MCP client, Claude Code, Codex, Cursor, VS Code, Gemini CLI, Windsurf, Zed, Claude Desktop
    Forks
    406
    Open issues
    19
    GitHub checked
  2. Connects agents to GitHub repos, issues, pull requests, Actions runs and security alerts

    • 33.7k stars
    • 57 stars/day since creation
    • pushed
    • v2.0.2 on
    • MIT

    Add the remote server to Claude Code

    claude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer YOUR_GITHUB_PAT"}}'
    Use it when, skip it if, stats for GitHub MCP Server

    Why you'd want it

    GitHub's official MCP server lets an agent browse and search code, manage issues and pull requests, monitor Actions runs and review code scanning and Dependabot alerts. GitHub hosts a remote version at api.githubcopilot.com/mcp with OAuth or personal access token auth, and the same server runs locally from a Docker image or a Go binary. Tools are grouped into toolsets you can enable selectively, and a read-only mode removes every tool that makes changes.

    Best for

    • Agents that triage issues or review pull requests
    • Investigating CI failures from the editor
    • Teams that want a hosted server with OAuth

    Use it when

    Your agent needs to read or act on GitHub repositories, issues, pull requests or workflows as part of its task.

    Skip it if

    You do not use GitHub. Remote OAuth depends on each host configuring a GitHub App or OAuth App, so some clients need a personal access token, and GitHub Enterprise Server needs extra setup.

    Stats

    Stars per day, since repo creation
    57
    Release
    v2.0.2,
    License
    MIT
    Pricing
    Open source
    Works with
    Any MCP client, Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, VS Code, JetBrains, Windsurf, Zed, Docker
    Forks
    5,216
    Open issues
    378
    GitHub checked
  3. Rank 19

    Gives a coding agent symbol-level code search, editing and refactoring tools backed by language servers

    • score 48
    • 30.3k stars
    • 53 stars/day since creation
    • pushed
    • v2.0.0 on
    • GPL-3.0-or-later

    Install with uv

    uv tool install -p 3.13 serena-agent
    Use it when, skip it if, stats for Serena

    Why you'd want it

    Serena exposes IDE-style tools over MCP, such as find symbol, find referencing symbols, rename and replace symbol body, so the agent works with code structure instead of line numbers and text search. The default backend uses language servers, and the README lists support for over 40 programming languages. An optional paid JetBrains plugin backend adds moves, inlining, type hierarchy and searches in project dependencies.

    Best for

    • Navigating and refactoring large codebases
    • Cross-file renames and reference lookups
    • Multi-language repositories

    Use it when

    Your agent spends many steps on grep and line-based edits in a large codebase and you want it to look up symbols and references the way an IDE does.

    Skip it if

    Your projects are small and the agent's built-in search and edit tools already cope. It reports anonymous usage data on startup unless SERENA_USAGE_REPORTING is set to false, and its docs assume a trusted machine and repository and recommend a sandbox. The app moved from MIT to GPL-3.0-or-later in v2.

    Stats

    New and rising score
    48 of 100
    Stars per day, since repo creation
    53
    Release
    v2.0.0,
    License
    GPL-3.0-or-later
    Pricing
    Open source
    Works with
    Any MCP client, Claude Code, Codex, Gemini CLI, VS Code, Cursor, JetBrains, Windsurf, Claude Desktop, Docker
    Forks
    2,097
    Open issues
    97
    GitHub checked

For agents

The same entry, as files an agent can read without scraping this page.

# read one entry
curl -s https://agenttooldrop.com/tools/code-review-graph.md

# list the MCP servers in the catalog
curl -s https://agenttooldrop.com/tools.json \
  | jq -r '.tools[] | select(.category=="mcp-server") | .slug'