mcpField
C
Code Review Server

Code Review Server

ローカル
github.com/crazyrabbitLTCバージョン管理3483 週間前に更新

Code Review Server について

Code Review Server は、Repomix でコードベースを平坦化し、OpenAI、Anthropic、Gemini の LLM に送信して構造化されたコードレビューを生成する MCP サーバーです。LLM によるリポジトリの問題点確認や改善提案を求める開発者を対象としています。

主な機能

  1. 01Repomix によるコードベースのテキスト化
  2. 02OpenAI、Anthropic、Gemini プロバイダーへの対応
  3. 03種類と重大度を含む構造化された問題の出力
  4. 04大規模コードベースのチャンク分割
  5. 05ファイル、拡張子、詳細度、注目領域による絞り込み

活用シーン

  1. 01リポジトリのセキュリティと性能の問題のレビュー
  2. 02詳細レビュー前のコード構造の把握
  3. 03コード品質と保守性の評価

MCP 対応

MCP サーバーとして、analyze_repo と code_review の 2 つのツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

コードレビューサーバー

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 サーバーとして

コードレビューサーバーは Model Context Protocol(MCP)を実装しており、任意の MCP クライアントで使用できます。

# Start the server
node build/index.js

サーバーは、主に次の 2 つのツールを公開します。

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

MCP ツールを使用するタイミング

このサーバーは、コード分析のニーズに応じて使い分けられる 2 つのツールを提供します。

analyze_repo

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

  • コードベースの構造や構成の概要を把握したい
  • 初期分析のためにリポジトリをテキスト形式にフラット化したい
  • 詳細なレビューを行わずに、ディレクトリ構造やファイルの内容を把握したい
  • より詳細なコードレビューの準備をしたい
  • コードベースをすばやくスキャンして、さらに分析するファイルを特定したい

使用例:

  • 「レビューする前に、このリポジトリの構造を把握したい」
  • 「このコードベースに含まれるファイルとディレクトリを見せて」
  • 「構成を理解するために、コードをフラット化して表示して」
code_review

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

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

使用例:

  • 「このコードベースにセキュリティ脆弱性がないかレビューして」
  • 「これらの特定の 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>:詳細レベル(デフォルト:detailed)
  • --focus <areas>:重点的に確認する領域(security,performance,quality,maintainability)

例:

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)
  • Anthropic(デフォルト: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"]
}

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。