Cover image
crazyrabbitltc_mcp-code-review-server
Public

crazyrabbitltc_mcp-code-review-server

Try Now
2025-03-25

Espejo dehttps: //github.com/crazyrabbitltc/mcp-code-review-server

3 years

Works with Finder

0

Github Watches

0

Github Forks

0

Github Stars

Code 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:

  1. analyze_repo: Flattens a codebase using Repomix
  2. code_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 repository
  • fileTypes: 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 analysis
  • focusAreas: 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

  1. The code_review tool processes code using Repomix to flatten the repository structure
  2. The code is formatted and chunked if necessary to fit within LLM context limits
  3. A detailed prompt is generated based on the focus areas and detail level
  4. The prompt and code are sent directly to the LLM API of your chosen provider
  5. The LLM response is parsed into a structured format
  6. 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

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • tomoyoshi hirata
  • Sony α7IIIマニュアルアシスタント

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • apappascs
  • Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.

  • ShrimpingIt
  • Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx

  • jae-jae
  • Servidor MCP para obtener contenido de la página web con el navegador sin cabeza de dramaturgo.

  • HiveNexus
  • Un bot de chat de IA para equipos pequeños y medianos, que apoyan modelos como Deepseek, Open AI, Claude y Gemini. 专为中小团队设计的 ai 聊天应用 , 支持 Deepseek 、 Open ai 、 Claude 、 Géminis 等模型。

  • ravitemer
  • Un poderoso complemento Neovim para administrar servidores MCP (protocolo de contexto del modelo)

  • patruff
  • Puente entre los servidores Ollama y MCP, lo que permite a LLM locales utilizar herramientas de protocolo de contexto del modelo

    Reviews

    1 (1)
    Avatar
    user_6LjliqAZ
    2025-04-17

    As a dedicated user of crazyrabbitLTC_mcp-code-review-server by MCP-Mirror, I must say it's exceptional for code review processes. The seamless integration and user-friendly interface make it an invaluable tool for developers. Quick setup and robust functionality ensure continuous efficient performance. Highly recommend!