Skip to main content
Glama

コードレビューサーバー

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

特徴

  • Repomix を使用してコードベースをフラット化する

  • 大規模言語モデルでコードを分析する

  • 具体的な問題と推奨事項を含む構造化されたコードレビューを取得します

  • 複数の LLM プロバイダー (OpenAI、Anthropic、Gemini) のサポート

  • 大規模なコードベースのチャンク化を処理

Related MCP server: MCP Prompt Enhancer

インストール

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

ライセンス

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

One-click Deploy
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crazyrabbitLTC/mcp-code-review-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server