About Code Review Server
Code Review Server is an MCP server that flattens a codebase with Repomix and sends it to an LLM from OpenAI, Anthropic or Gemini for a structured review. It suits developers who want model-based checks of issues and recommendations for a repository. The README describes it as a custom project.
Key features
- 01Flattens codebases into text using Repomix
- 02Supports OpenAI, Anthropic and Gemini providers
- 03Returns structured issues with type and severity
- 04Chunks large codebases to fit context limits
- 05Filters by files, file types, detail level and focus areas
Use cases
- 01Reviewing a repository for security and performance issues
- 02Getting a structural overview before a detailed review
- 03Assessing code quality and maintainability
MCP support
This project is an MCP server that exposes analyze_repo and code_review tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMECode Review Server
A custom MCP server that performs code reviews using Repomix and LLMs.
Features
- Flatten codebases using Repomix
- Analyze code with Large Language Models
- Get structured code reviews with specific issues and recommendations
- Support for multiple LLM providers (OpenAI, Anthropic, Gemini)
- Handles chunking for large codebases
Installation
# Clone the repository
git clone https://github.com/yourusername/code-review-server.git
cd code-review-server
# Install dependencies
npm install
# Build the server
npm run build
Configuration
Create a .env file in the root directory based on the .env.example template:
cp .env.example .env
Edit the .env file to set up your preferred LLM provider and API key:
# LLM Provider Configuration
LLM_PROVIDER=OPEN_AI
OPENAI_API_KEY=your_openai_api_key_here
Usage
As an MCP Server
The code review server implements the Model Context Protocol (MCP) and can be used with any MCP client:
# Start the server
node build/index.js
The server exposes two main tools:
analyze_repo: Flattens a codebase using Repomixcode_review: Performs a code review using an LLM
When to Use MCP Tools
This server provides two distinct tools for different code analysis needs:
analyze_repo
Use this tool when you need to:
- Get a high-level overview of a codebase's structure and organization
- Flatten a repository into a textual representation for initial analysis
- Understand the directory structure and file contents without detailed review
- Prepare for a more in-depth code review
- Quickly scan a codebase to identify relevant files for further analysis
Example situations:
- "I want to understand the structure of this repository before reviewing it"
- "Show me what files and directories are in this codebase"
- "Give me a flattened view of the code to understand its organization"
code_review
Use this tool when you need to:
- Perform a comprehensive code quality assessment
- Identify specific security vulnerabilities, performance bottlenecks, or code quality issues
- Get actionable recommendations for improving code
- Conduct a detailed review with severity ratings for issues
- Evaluate a codebase against best practices
Example situations:
- "Review this codebase for security vulnerabilities"
- "Analyze the performance of these specific JavaScript files"
- "Give me a detailed code quality assessment of this repository"
- "Review my code and tell me how to improve its maintainability"
When to use parameters:
specificFiles: When you only want to review certain files, not the entire repositoryfileTypes: When you want to focus on specific file extensions (e.g., .js, .ts)detailLevel: Use 'basic' for a quick overview or 'detailed' for in-depth analysisfocusAreas: When you want to prioritize certain aspects (security, performance, etc.)
Using the CLI Tool
For testing purposes, you can use the included CLI tool:
node build/cli.js <repo_path> [options]
Options:
--files <file1,file2>: Specific files to review--types <.js,.ts>: File types to include in the review--detail <basic|detailed>: Level of detail (default: detailed)--focus <areas>: Areas to focus on (security,performance,quality,maintainability)
Example:
node build/cli.js ./my-project --types .js,.ts --detail detailed --focus security,quality
Development
# Run tests
npm test
# Watch mode for development
npm run watch
# Run the MCP inspector tool
npm run inspector
LLM Integration
The code review server integrates directly with multiple LLM provider APIs:
- OpenAI (default: gpt-4o)
- Anthropic (default: claude-3-opus-20240307)
- Gemini (default: gemini-1.5-pro)
Provider Configuration
Configure your preferred LLM provider in the .env file:
# Set which provider to use
LLM_PROVIDER=OPEN_AI # Options: OPEN_AI, ANTHROPIC, or GEMINI
# Provider API Keys (add your key for the chosen provider)
OPENAI_API_KEY=your-openai-api-key
ANTHROPIC_API_KEY=your-anthropic-api-key
GEMINI_API_KEY=your-gemini-api-key
Model Configuration
You can optionally specify which model to use for each provider:
# Optional: Override the default models
OPENAI_MODEL=gpt-4-turbo
ANTHROPIC_MODEL=claude-3-sonnet-20240229
GEMINI_MODEL=gemini-1.5-flash-preview
How the LLM Integration Works
- The
code_reviewtool processes code using Repomix to flatten the repository structure - The code is formatted and chunked if necessary to fit within LLM context limits
- A detailed prompt is generated based on the focus areas and detail level
- The prompt and code are sent directly to the LLM API of your chosen provider
- The LLM response is parsed into a structured format
- The review is returned as a JSON object with issues, strengths, and recommendations
The implementation includes retry logic for resilience against API errors and proper formatting to ensure the most relevant code is included in the review.
Code Review Output Format
The code review is returned in a structured JSON format:
{
"summary": "Brief summary of the code and its purpose",
"issues": [
{
"type": "SECURITY|PERFORMANCE|QUALITY|MAINTAINABILITY",
"severity": "HIGH|MEDIUM|LOW",
"description": "Description of the issue",
"line_numbers": [12, 15],
"recommendation": "Recommended fix"
}
],
"strengths": ["List of code strengths"],
"recommendations": ["List of overall recommendations"]
}
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.