RooCodeとGitHub MCP ServerでPRレビュー対応を変えてみる
こんにちは、いわむらです。
プルリクエスト(PR)のレビューコメントを確認・整理したい時、GitHub上でひとつひとつ確認するのは面倒だなぁと思い、最初はGitHub CLIを使ったらコメントをローカルで確認できてまとめて参照できるんじゃないか?と思い試行錯誤していました。
でも、複雑なシェルスクリプトを書いたりjqコマンドを駆使したりと、なかなか複雑なのができあがっちゃいました...。そんな時にRooCodeとGitHubのMCP Serverの組み合わせを試してみたら、簡単にレビューコメントの整理ができるようになったので、ブログにしてみました。
解決したかった課題
PRレビュー対応で困っていたのは以下のような点でした:
- レビューコメントの見落とし: GitHub上で複数のコメントを確認していると、対応漏れが発生しやすい
- 優先度の判断: どのコメントから対応すべきか判断に時間がかかる
- 進捗管理の難しさ: どこまで対応したか把握しにくい
- 作業時間の見積もり: 全体の作業量が見えにくい
これらの課題を解決するために、レビューコメントを自動で整理し、優先度付きのチェックリストを作成できる仕組みを探していました。
セットアップ方法
今回はRooCode 3.20のMarketplace機能を使用してGitHub MCPを追加しました。
RooCode Marketplace機能の利用
RooCode 3.20で導入されたMarketplace機能を使用すると、簡単にGitHub MCPを追加できます:
- RooCode 3.20以降を使用
- MarketplaceからGitHub MCPを検索・追加
- Personal Access Tokenを設定(repo権限が必要)
- 接続確認
セットアップは非常にシンプルで、数分で完了しました。
実際に試してみた結果
最初のアプローチ:簡単な指示
セットアップ完了後、まずは以下のような簡単な指示を試してみました:
"PRレビューコメントを確認して対応リストを作成して"
結果: 一般的なPRレビュー対応のテンプレートやガイドラインが生成されました。これはこれで有用でしたが、具体的なPRのレビューコメントは取得されず、汎用的なチェックリストが作成されるに留まりました。
改善したアプローチ:具体的な指示
次に、より具体的な指示を試してみました:
"todo-appの現在のブランチのPRを参照してレビューコメントを全て取得して修正のチェックリストを作成して"
結果: 実際のPRのレビューコメントを取得・分析し、具体的な修正項目を含むチェックリストが生成されました。
得られた成果
自動化された処理フロー
具体的な指示を出すと、以下のような処理が自動で実行されました:
- 現在のブランチを確認 → feature/todo-refactor
- 該当するPRを検索 → PR #123を発見
- レビューコメントを取得 → 11件の個別コメント + 複数の総合レビュー
- 詳細なチェックリストを生成 → 6つの主要な修正項目を優先度別に分類
これまでGitHub画面を行き来していた作業が、一瞬で完了しました。
実際の検証:todo-appでの結果
ブログ執筆中に実際に以下の指示を試してみました:
"todo-appの現在のブランチのPRを参照してレビューコメントを全て取得して修正のチェックリストを作成して"
結果: PR #123のレビューコメント13件を分析し、以下のような実用的なチェックリストが生成されました:
高優先度(即座に修正が必要)
- src/components/TodoList.tsx: useEffectの依存配列が不完全でバグの原因となる可能性
- src/api/todoApi.ts: API呼び出し時のエラーハンドリングが不十分
中優先度(改善推奨)
- src/types/todo.ts: TypeScript型定義の厳密化(any型の使用を避ける)
- src/utils/validation.ts: 複雑なロジックにコメントを追加
- src/hooks/useTodos.ts: 状態管理のロジック改善
- src/components/TodoItem.tsx: 変数名をより分かりやすく改善
レビュアーの意図や背景も含めて分析され、単なるコメントの羅列ではなく、実際に作業しやすい形で整理されていました。
実際に感じたメリット
効率性の向上
- 手動作業の削減: GitHub画面を行き来する必要がなくなった
- 見落としの防止: 全てのコメントが確実に一覧化される
- 優先度の明確化: 重要度に応じた対応順序が自動で判断される
作業の質の向上
- ファイルパスの明示: 該当箇所をすぐに特定できる
- 進捗管理の簡素化: チェックボックスで対応状況を追跡
- 作業量の把握: 全体の作業時間を事前に見積もれる
活用のコツ
効果的な指示の出し方
汎用的なガイドラインが欲しい場合:
"PRレビューコメントを確認して対応リストを作成して"
新しいプロジェクトでのプロセス構築や、チーム内での標準化に有効です。
具体的なPRの対応リストが欲しい場合:
"[リポジトリ名]の現在のブランチのPRを参照してレビューコメントを全て取得して修正のチェックリストを作成して"
現在進行中のPRの対応や、緊急性の高い修正作業の整理に有効です。
段階的な処理の活用
具体的な指示を出すと、処理の各段階が可視化されるため、何が行われているかを把握しやすくなります。これにより、問題が発生した場合の原因特定も容易になります。
MCPの便利さを実感した体験
今回の検証を通じて、MCPの真の価値を実感することができました。
今までは「APIのドキュメントを読む→必要な設定→エンドポイント呼び出し→JSONパース→データ整理→優先度判断」という複数のステップが必要でしたが、MCPを使うことで「ほんのちょっとの指示」だけで全てが完了します。
技術的な複雑さを抽象化し、問題解決に集中しやすくなる感じがしました。