ctroy-code-analysis
An MCP server that provides six code review tools for use with Claude Code or any MCP client. Each tool reads a file from disk, pairs its contents with a structured review prompt, and returns the bundle for the LLM to evaluate.
README
ctroy-code-analysis
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.