diffpilot について
DiffPilotは、コード差分のレビューやコミット作成を支援するローカルMCPサーバーです。ベースブランチを自動検出し、シークレットスキャンや文章生成ツールも備えています。READMEではクラウドや外部APIを使わないと説明されています。
主な機能
- 01ローカルでのコード差分レビュー
- 02ベースブランチの自動検出
- 03シークレットと認証情報のスキャン
- 04コミットメッセージとPR文面の生成
- 05差分統計とテスト提案
活用シーン
- 01プッシュ前にローカルブランチをレビュー
- 02チェックアウトした機能ブランチのレビューを支援
- 03コミット前に変更内のシークレットを確認
MCP 対応
差分レビュー、コミットメッセージや変更履歴の生成、シークレットスキャン、統計などを行う9つのツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🔍 DiffPilot
プッシュ前にローカルで行う AI コードレビュー
💡 DiffPilot を選ぶ理由
PR を作成する前に、ローカルでコードをレビューできます。 DiffPilot は、次のことができる MCP サーバーです。
- PR 前のセルフレビュー - プッシュ前に、最後のコミット以降のローカル変更を AI でコードレビューします
- レビュアーのワークフロー - コードレビュアーとして、ソースブランチをローカルにチェックアウトし、AI 支援によるレビューを行います
- ブランチの自動検出 -
mainを指定する必要はありません。DiffPilot がベースブランチを自動的に見つけます
🔒 100% ローカル - クラウドや外部 API は不要です。Azure DevOps、TFS、エアギャップ環境で動作します。
🚀 クイックスタート
インストール
# VS Code Marketplace
ext install BurakKalafat.diffpilot
# Or NuGet (.NET tool)
dotnet tool install -g DiffPilot
GitHub Copilot で使用
# Review my changes (auto-detects base branch)
@workspace #review_pr_changes
# Review with focus areas
@workspace #review_pr_changes focus on security and error handling
# Generate commit message
@workspace #generate_commit_message
# Scan for secrets before committing
@workspace #scan_secrets
🛠️ 9 つの MCP ツール
PR レビューツール
| ツール | プロンプトの例 |
|---|---|
#get_pr_diff | 「自分のブランチと main の差分を表示して」 |
#review_pr_changes | 「セキュリティ上の問題がないか PR をレビューして」 |
#generate_pr_title | 「Conventional Commits に準拠した PR タイトルを生成して」 |
#generate_pr_description | 「チェックリスト付きの PR 説明を作成して」 |
開発者向けツール
| ツール | プロンプトの例 |
|---|---|
#generate_commit_message | 「ステージ済みの変更に対するコミットメッセージを生成して」 |
#scan_secrets | 「変更内容に API キーが含まれていないか確認して」 |
#diff_stats | 「変更統計を表示して」 |
#suggest_tests | 「どのようなテストを書くべきですか?」 |
#generate_changelog | 「コミットから変更履歴を生成して」 |
✨ 主な機能
| 機能 | 説明 |
|---|---|
| 🔄 ブランチの自動検出 | main、master、または develop を自動的に検出します |
| 🔐 シークレットのスキャン | API キー、パスワード、トークン、JWT を検出します |
| 📊 差分統計 | 追加・削除された行数、ファイル種別ごとの内訳を表示します |
| 🧪 テストの提案 | パターンに基づいてテストケースを提案します |
| 📝 Conventional Commits | feat:、fix:、refactor: のメッセージを生成します |
| 🛡️ エンタープライズセキュリティ | 銀行級の入力検証、レート制限、出力のサニタイズを実施します |
🛡️ セキュリティ
DiffPilot は、エンタープライズ級のセキュリティ機能を実装しています。
| セキュリティ機能 | 説明 |
|---|---|
| 入力検証 | すべてのパラメーターを厳格なパターンに照らして検証します |
| インジェクション防止 | コマンドインジェクションやパストラバーサルを防止します |
| 出力のサニタイズ | ツールの出力からシークレットを自動的にマスキングします |
| レート制限 | DoS 攻撃を防止します(120 req/min) |
| 安全なエラー処理 | 内部情報をクライアントに公開しません |
| 監査ログ | セキュリティイベントを stderr に記録します |
自動マスキング対象のパターン: API キー、AWS 認証情報、GitHub/Slack トークン、JWT、パスワード、秘密鍵、接続文字列。
詳しくは SECURITY.md をご覧ください。
📋 ユースケース
1. PR 前のセルフレビュー
# After finishing your work, before creating PR:
@workspace #review_pr_changes
# AI reviews your changes and provides feedback
# Fix issues locally, then push with confidence
2. コードレビュアーのワークフロー
# Checkout the feature branch locally
git checkout feature/user-auth
# Use DiffPilot to review
@workspace #review_pr_changes focus on security
# Get structured review with AI assistance
3. コミット前のシークレットチェック
@workspace #scan_secrets
# Catches API keys, passwords, tokens before they're committed
⚙️ 設定
{
"diffpilot.defaultBaseBranch": "main",
"diffpilot.prTitleStyle": "conventional",
"diffpilot.commitMessageStyle": "conventional"
}
📦 インストール方法
| 方法 | コマンド |
|---|---|
| VS Code | ext install BurakKalafat.diffpilot |
| NuGet | dotnet tool install -g DiffPilot |
| 手動 | git clone + dotnet build |
要件: .NET 9 SDK、VS Code 1.101 以降、Git
📜 バージョン履歴
1.2.0 (2025-12-09)
- セキュリティ強化 - 銀行水準のセキュリティ機能
- 入力検証(CWE-20)
- コマンドインジェクションの防止(CWE-78)
- パストラバーサルの保護(CWE-22)
- 出力のサニタイズ - シークレットを自動的にマスキングします(CWE-200)
- レート制限(CWE-400)
- セキュアなエラー処理
- SECURITY.md のドキュメントを追加
- セキュリティに関するユニットテストを80件追加
1.1.5 (2025-12-08)
- ユースケースと
#toolプロンプトを含めて README を更新 - ブランチの自動検出を強調
1.1.4 (2025-12-07)
- アイコンを調整
1.1.3 (2025-12-07)
- 新しい拡張機能アイコン(プラス/マイナス付きのレンズ)
1.1.2 (2025-12-07)
- パッケージサイズを最適化
1.1.1 (2025-12-07)
- 拡張機能アイコンを更新
1.1.0 (2025-12-07)
- ツールのドキュメントを改善
1.0.9 (2025-12-07)
- 修正:サーバーが Git 操作にワークスペースフォルダーを使用するように変更
1.0.8 (2025-12-07)
- UI をすっきりさせるため、ツールの説明を短縮
1.0.7 (2025-12-07)
- 修正:バンドルされたサーバーに TargetFramework が含まれるように変更
1.0.6 (2025-12-07)
- 修正:VS Code 1.101+ 向けの MCP 自動登録
1.0.5 (2025-12-07)
- NuGet と MCP Registry に公開
1.0.0 (2025-12-06)
- 9つの MCP ツールを含む初回リリース
📄 ライセンス
MIT ライセンス - Burak Kalafat
GitHub • VS Code Marketplace • NuGet
便利だと思ったら ⭐ を付けてください!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。