代码审查工具集

一个提供六种代码审查工具的MCP服务器,用于与Claude Code(或任何MCP客户端)配合使用,帮助开发者识别代码中的问题并提出改进建议。

  • by chelseatroy
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 chelseatroy/ctroy-code-analysis

使用说明

ctroy-code-analysis

Distributed via PyPI!

An MCP server that provides six code review tools for use with Claude Code (or any MCP client). Each reviewer reads a file from disk, pairs its contents with a structured review prompt, and returns the bundle for the LLM to evaluate.

Installation

pip install ctroy-code-analysis

Requires Python 3.10+.

Connecting to Claude Code

Add the server to your project's .mcp.json (per-project) or ~/.claude.json (global):

{
  "mcpServers": {
    "ctroy-code-analysis": {
      "command": "ctroy-code-analysis"
    }
  }
}

Restart Claude Code. The six tools will appear automatically.

Tools

Each tool takes a filepath (or directory), reads the contents, and returns them alongside review instructions. The LLM then generates the review.

Tool Input What It Reviews
review_comments filepath Identifies superfluous comments that restate obvious code and inaccurate comments that contradict what the code does.
review_names filepath Identifies unclear, inaccurate, or shadowed names in classes, functions, variables, and constants.
review_cohesion filepath Identifies related logic scattered across the codebase that should be colocated.
review_performance filepath Identifies unnecessary computation, inefficient algorithms, and missed optimization opportunities.
review_test_coverage filepath Identifies untested code paths including edge cases, error paths, and boundary conditions.
draw_gridmat directory Lists the directory structure and produces an ASCII execution-path diagram with emoji-coded entry points.

Example usage in Claude Code

Ask Claude naturally:

Use review_comments on src/parser.py
Use review_performance on lib/data_pipeline.py
Use draw_gridmat on the src/ directory

Prompts

Each tool also has a corresponding prompt (prefixed with prompt_). Prompts return just the review instructions without reading any files, so the LLM applies them to code it already has in context.

Prompt Input
prompt_review_comments filepath
prompt_review_names filepath
prompt_review_cohesion filepath
prompt_review_performance filepath
prompt_review_test_coverage filepath
prompt_draw_gridmat directory

What the reviewers look for

Comment review flags two categories, ordered by severity: inaccurate comments (say something the code doesn't do) and superfluous comments (restate what the code clearly says).

Name review flags five categories: unclear names, inaccurate names, shadowed variables, overloaded temporaries (tmp, i, x reused across unrelated blocks), and low-confidence blocks where names make it hard to reason about the code.

Cohesion review looks for ten patterns of scattered code: distant configuration, split validation, fragmented type definitions, separated tests, dispersed error handling, remote utilities, disconnected docs, scattered state management, split domain logic, and orphaned dependencies.

Performance review analyzes five categories: algorithmic complexity, data structure efficiency, unnecessary work, I/O and external operations, and language-specific optimizations. Each finding includes expected improvement and tradeoffs.

Test coverage review checks for gaps in: happy paths, branch coverage, edge cases, error paths, boundary conditions, integration points, return values, state changes, and concurrency concerns.

Gridmat picks up to 5 entry points, assigns each a color-coded emoji, and traces execution paths downward through the codebase in an ASCII box-drawing diagram.

Running the server directly

The server uses stdio transport. To start it manually:

ctroy-code-analysis

Or:

python -m ctroy_code_analysis.server