Code Review MCP Server

by crazyrabbitLTC
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides functionality to clone and analyze Git repositories, supporting code review workflows for local Git repositories.

  • Enables flattening and analyzing GitHub repositories with Repomix, allowing for comprehensive code reviews of entire codebases or specific files and file types.

  • Connects to OpenAI's API to analyze code and perform detailed code reviews, with support for models like gpt-4o and gpt-4-turbo to identify issues and provide recommendations.

コードレビューサーバー

Repomix と LLM を使用してコードレビューを実行するカスタム MCP サーバー。

特徴

  • Repomix を使用してコードベースをフラット化する
  • 大規模言語モデルでコードを分析する
  • 具体的な問題と推奨事項を含む構造化されたコードレビューを取得します
  • 複数の LLM プロバイダー (OpenAI、Anthropic、Gemini) のサポート
  • 大規模なコードベースのチャンク化を処理

インストール

# 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

構成

.env.exampleテンプレートに基づいて、ルート ディレクトリに.envファイルを作成します。

cp .env.example .env

.envファイルを編集して、優先する LLM プロバイダーと API キーを設定します。

# LLM Provider Configuration LLM_PROVIDER=OPEN_AI OPENAI_API_KEY=your_openai_api_key_here

使用法

MCPサーバーとして

コード レビュー サーバーはモデル コンテキスト プロトコル (MCP) を実装しており、任意の MCP クライアントで使用できます。

# Start the server node build/index.js

サーバーは 2 つの主要なツールを公開します。

  1. analyze_repo : Repomix を使用してコードベースをフラット化する
  2. code_review : LLMを使用してコードレビューを実行します

MCPツールを使用する場合

このサーバーは、異なるコード分析ニーズに対応する 2 つの異なるツールを提供します。

分析リポジトリ

次の場合にこのツールを使用します。

  • コードベースの構造と構成の概要を把握する
  • 初期分析のためにリポジトリをテキスト表現にフラット化する
  • 詳細な確認なしでディレクトリ構造とファイルの内容を理解する
  • より詳細なコードレビューの準備
  • コードベースを素早くスキャンして、さらに分析する必要がある関連ファイルを特定します。

例:

  • 「レビューする前にこのリポジトリの構造を理解したい」
  • 「このコードベースに含まれるファイルとディレクトリを表示してください」
  • 「コードの構成を理解するために、コードを平面的に表示してください」

コードレビュー

次の場合にこのツールを使用します。

  • 包括的なコード品質評価を実行する
  • 特定のセキュリティ脆弱性、パフォーマンスのボトルネック、コード品質の問題を特定する
  • コードを改善するための実用的な推奨事項を入手する
  • 問題の重大度評価を含む詳細なレビューを実施する
  • ベストプラクティスに照らしてコードベースを評価する

例:

  • 「このコードベースのセキュリティ上の脆弱性を確認してください」
  • 「これらの特定のJavaScriptファイルのパフォーマンスを分析します」
  • 「このリポジトリの詳細なコード品質評価を教えてください」
  • 「私のコードをレビューして、保守性を向上させる方法を教えてください」

パラメータを使用する場合:

  • specificFiles : リポジトリ全体ではなく、特定のファイルのみをレビューしたい場合
  • fileTypes : 特定のファイル拡張子(例: .js、.ts)に焦点を当てたい場合
  • detailLevel : 簡単な概要には「basic」、詳細な分析には「detailed」を使用します
  • focusAreas : 特定の側面(セキュリティ、パフォーマンスなど)を優先したい場合

CLIツールの使用

テスト目的では、付属の CLI ツールを使用できます。

node build/cli.js <repo_path> [options]

オプション:

  • --files <file1,file2> : レビューする特定のファイル
  • --types <.js,.ts> : レビューに含めるファイルの種類
  • --detail <basic|detailed> : 詳細レベル(デフォルト: details)
  • --focus <areas> : 重点を置く領域 (セキュリティ、パフォーマンス、品質、保守性)

例:

node build/cli.js ./my-project --types .js,.ts --detail detailed --focus security,quality

発達

# Run tests npm test # Watch mode for development npm run watch # Run the MCP inspector tool npm run inspector

LLM統合

コード レビュー サーバーは、複数の LLM プロバイダー API と直接統合されます。

  • OpenAI (デフォルト:gpt-4o)
  • 人間中心的(デフォルト:claude-3-opus-20240307)
  • Gemini (デフォルト: gemini-1.5-pro)

プロバイダー構成

.envファイルで、優先する LLM プロバイダーを構成します。

# 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

モデル構成

オプションで、各プロバイダーに使用するモデルを指定できます。

# Optional: Override the default models OPENAI_MODEL=gpt-4-turbo ANTHROPIC_MODEL=claude-3-sonnet-20240229 GEMINI_MODEL=gemini-1.5-flash-preview

LLM統合の仕組み

  1. code_reviewツールはRepomixを使用してコードを処理してリポジトリ構造をフラット化します。
  2. コードは、LLMコンテキストの制限内に収まるように必要に応じてフォーマットされ、チャンク化されます。
  3. 詳細なプロンプトは、焦点領域と詳細レベルに基づいて生成されます。
  4. プロンプトとコードは、選択したプロバイダーのLLM APIに直接送信されます。
  5. LLM応答は構造化された形式に解析される
  6. レビューは、問題点、強み、推奨事項を含むJSONオブジェクトとして返されます。

実装には、API エラーに対する耐性のための再試行ロジックと、最も関連性の高いコードがレビューに含まれるようにするための適切なフォーマットが含まれています。

コードレビューの出力形式

コードレビューは構造化された JSON 形式で返されます。

{ "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"] }

ライセンス

マサチューセッツ工科大学

-
security - not tested
F
license - not found
-
quality - not tested

Repomix と LLM を使用してコードベースを分析し、特定の問題と推奨事項を含む構造化されたコードレビューを提供します。OpenAI、Anthropic、Gemini などの複数の LLM プロバイダーをサポートします。

  1. Features
    1. Installation
      1. Configuration
        1. Usage
          1. As an MCP Server
        2. When to Use MCP Tools
          1. analyze_repo
          2. code_review
          3. Using the CLI Tool
        3. Development
          1. LLM Integration
            1. Provider Configuration
            2. Model Configuration
            3. How the LLM Integration Works
          2. Code Review Output Format
            1. License
              ID: 0tbbehvj9y