Skip to main content
Glama

MCP PR Review

An MCP (Model Context Protocol) server for automatic code review using OpenRouter as the LLM provider.

πŸš€ Features

  • Intelligent code review: Analyzes your code and suggests improvements based on:

    • Performance optimizations

    • Clean Code principles

    • SOLID principles application

    • Proper async handling

    • Error handling

    • Security best practices

  • Multiple LLM support: Uses OpenRouter to access different models

  • Direct file modification: Inserts JSDoc review comments directly into your files

  • Easy integration: Connects with any MCP-compatible client

Related MCP server: Claude Code Review MCP

πŸ“‹ Requirements

  • Node.js >= 18.0.0

  • Yarn 4

  • OpenRouter API Key

πŸ› οΈ Installation

  1. Clone the repository

git clone <your-repo>
cd mcp-pr-review
  1. Install dependencies:

yarn install
  1. Configure environment variables:

cp .env.example .env

Edit the .env file and add your OpenRouter API key:

OPENROUTER_API_KEY=your_api_key_here
OPENROUTER_MODEL=moonshotai/kimi-k2:free

πŸ”‘ Getting OpenRouter API Key

  1. Go to OpenRouter

  2. Create an account

  3. Generate an API key in your dashboard

  4. Add it to your .env file

πŸš€ Usage

Running the server

# Production mode
yarn start

# Development mode (with watch)
yarn dev

Using MPC client

Add this configuration to your MCP configuration file:

{
  "mcpServers": {
    "code-review": {
      "command": "node",
      "args": ["path/to/mcp-pr-review/src/index.js"],
      "env": {
        "OPENROUTER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Available Tools

review

Reviews a code file and inserts JSDoc review comments directly into the file.

Parameters:

  • file_path (string): Absolute path to the file you want to review

Important notes:

  • ⚠️ Only absolute paths are accepted (paths starting with /)

  • πŸ“ The tool modifies the original file by inserting JSDoc comments

  • πŸ” Review categories include: SOLID, PERFORMANCE, ASYNC, ERROR_HANDLING, CLEAN_CODE, SECURITY

Example usage:

# In your MCP client (like Claude Desktop)
/review /Users/username/project/src/myfile.js

What the tool does:

  1. Reads the specified file

  2. Analyzes the code for issues

  3. Generates JSDoc comments with @fixme annotations

  4. Inserts these comments directly into the file before problematic lines

  5. Saves the modified file

Example output format:

/**
 * @fixme PERFORMANCE: Consider using more efficient algorithm
 * @example Use Map instead of nested loops for O(1) lookups
 */
function inefficientFunction() {
  // your code here
}

πŸ”§ Configuration

Environment Variables

Variable

Description

Default

Required

OPENROUTER_API_KEY

Your OpenRouter API key

-

βœ…

OPENROUTER_API_URL

API base URL

https://openrouter.ai/api/v1

❌

OPENROUTER_MODEL

Model to use

moonshotai/kimi-k2:free

❌

  • Free models:

    • moonshotai/kimi-k2:free

    • meta-llama/llama-3.1-8b-instruct:free

    • google/gemini-flash-1.5

  • Paid models (better quality):

    • anthropic/claude-3-haiku:beta

    • microsoft/wizardlm-2-8x22b

    • anthropic/claude-3-sonnet:beta

πŸ§ͺ Development

Project Structure

mcp-pr-review/
β”œβ”€β”€ src/
β”‚   └── index.js          # Main MCP server
β”œβ”€β”€ package.json          # Dependencies and scripts
β”œβ”€β”€ .env.example         # Environment variables template
β”œβ”€β”€ .gitignore           # Files to ignore by git
└── README.md            # This documentation

Available Scripts

yarn start     # Run in production
yarn dev       # Run in development mode
yarn test      # Run tests (not implemented yet)

Related MCP Connectors

Related MCP Servers