Provides tools for managing GitHub pull request review threads, including listing review comments, replying to threads, resolving discussions, and performing combined reply-and-resolve operations through GitHub's GraphQL API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PR Review MCP Serverlist unresolved review threads for owner/repo PR #456"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PR Review MCP Server
GitHub PR レビューコメントを取得・応答・解決するためのMCPサーバーです。
機能
このMCPサーバーは以下の4つのツールを提供します:
list_review_threads - PRのレビュースレッド一覧を取得
reply_to_review_thread - レビュースレッドに返信
resolve_review_thread - レビュースレッドを解決
reply_and_resolve - 返信と解決を一度に実行
前提条件
GitHub CLI (gh) がインストールされ、認証済みであること
gh auth loginuv (Python 3.10以上)
インストール
uvを使用する方法(推奨)
# uvのインストール(まだの場合)
curl -LsSf https://astral.sh/uv/install.sh | sh
# プロジェクトディレクトリに移動
cd /path/to/CodeReviewResolvedMcp
# 依存関係のインストール
uv sync
# 開発用依存関係も含める場合
uv sync --dev従来のpipを使用する方法
# プロジェクトディレクトリに移動
cd /path/to/CodeReviewResolvedMcp
# インストール
pip install -e .
# 開発用の依存関係も含める場合
pip install -e ".[dev]"MCPクライアントでの使用
Claude Desktopの設定
uvを使用する場合(推奨)
~/.config/Claude/claude_desktop_config.json (Linux):
{
"mcpServers": {
"pr-review": {
"command": "uv",
"args": ["run", "pr-review-mcp"],
"cwd": "/path/to/CodeReviewResolvedMcp"
}
}
}python3を使用する場合
{
"mcpServers": {
"pr-review": {
"command": "python3",
"args": ["-m", "pr_review_mcp.server"],
"cwd": "/path/to/CodeReviewResolvedMcp"
}
}
}使用例
1. レビュースレッド一覧の取得
未解決のレビューコメントを確認したいので、owner/repo の PR #123 のレビュースレッドを表示してください2. レビューコメントに返信
thread_id: PRRT_xxx のスレッドに "修正しました。ご確認ください。" と返信してください3. レビュースレッドの解決
thread_id: PRRT_xxx のスレッドを解決済みにしてください 4. 返信と解決を一度に実行
thread_id: PRRT_xxx のスレッドに "対応完了しました" と返信し、解決してくださいツールの詳細
list_review_threads
PRのレビュースレッド一覧を取得します。
パラメータ:
owner(string, 必須): リポジトリオーナーrepo(string, 必須): リポジトリ名pull_number(integer, 必須): PR番号unresolved_only(boolean, オプション): 未解決のみ取得 (デフォルト: true)
出力例:
{
"pull_request": "owner/repo#123",
"thread_count": 2,
"threads": [
{
"id": "PRRT_kwDOABC...",
"is_resolved": false,
"file": "src/main.py",
"line": 42,
"first_comment": {
"author": "reviewer",
"body": "このロジックを改善できますか?",
"created_at": "2025-12-10T12:00:00Z"
}
}
]
}reply_to_review_thread
レビュースレッドに返信を追加します。
パラメータ:
owner(string, 必須): リポジトリオーナーrepo(string, 必須): リポジトリ名pull_number(integer, 必須): PR番号thread_id(string, 必須): スレッドIDbody(string, 必須): 返信内容(Markdownサポート)
resolve_review_thread
レビュースレッドを解決済みとしてマークします。
パラメータ:
thread_id(string, 必須): スレッドID
reply_and_resolve
レビュースレッドに返信し、即座に解決します。
パラメータ:
owner(string, 必須): リポジトリオーナーrepo(string, 必須): リポジトリ名pull_number(integer, 必須): PR番号thread_id(string, 必須): スレッドIDbody(string, 必須): 返信内容(Markdownサポート)
技術詳細
このMCPサーバーは以下の技術を使用しています:
GitHub GraphQL API: レビュースレッドの取得と操作
gh CLI: GitHub APIへのアクセス(認証を含む)
MCP (Model Context Protocol): AIアシスタントとの統合
GraphQL APIの使用
このサーバーは主に以下のGraphQL操作を使用します:
クエリ:
repository.pullRequest.reviewThreads- レビュースレッド取得ミューテーション:
addPullRequestReviewThreadReply- 返信追加ミューテーション:
resolveReviewThread- スレッド解決
トラブルシューティング
gh command failed エラー
gh CLIが正しくインストール・認証されているか確認してください:
gh auth status認証されていない場合:
gh auth loginPull request not found エラー
リポジトリ名、オーナー、PR番号が正しいか確認
PRが実際に存在するか確認
ghコマンドで該当リポジトリにアクセス権限があるか確認
GraphQL errors エラー
thread_idが正しいか確認(
list_review_threadsで取得したIDを使用)PR番号が正しいか確認
リポジトリへの書き込み権限があるか確認
ライセンス
このプロジェクトはMITライセンスの下で公開されています。
開発
依存関係の管理
# 依存関係の追加
uv add <package-name>
# 開発用依存関係の追加
uv add --dev <package-name>
# 依存関係の同期
uv syncコード品質チェック
# Ruffでリント
uv run ruff check .
# Ruffでフォーマット
uv run ruff format .
# 型チェック(追加予定)
# uv run mypy src/テストの実行
# すべてのテストを実行
uv run pytest
# 詳細表示で実行
uv run pytest -v
# 特定のテストファイルを実行
uv run pytest tests/test_gh_api.py
# カバレッジ付きで実行(pytest-covが必要)
# uv add --dev pytest-cov
# uv run pytest --cov=pr_review_mcpCI/CD
このプロジェクトはGitHub Actionsを使用した自動CI/CDパイプラインを備えています。
ワークフロー
CI/CD(.github/workflows/ci.yml)
プッシュとプルリクエストで自動実行されます:
Lint: Ruffによるコードのリント
Format Check: Ruffによるフォーマットチェック
Test: Python 3.10、3.11、3.12での自動テスト
# 実行タイミング
- main ブランチへのプッシュ
- develop ブランチへのプッシュ
- main/develop ブランチへのプルリクエストRelease(.github/workflows/release.yml)
バージョンタグがプッシュされた時に自動実行されます:
# リリース方法
git tag v0.1.0
git push origin v0.1.0このワークフローは:
パッケージをビルド
GitHub Releaseを作成
(オプション)PyPIに公開
Dependabot(.github/dependabot.yml)
依存関係の自動更新:
GitHub Actionsの更新(週次)
Python依存関係の更新(週次)
ローカルでCI/CDと同じチェックを実行
# リント
uv run ruff check .
# フォーマットチェック
uv run ruff format --check .
# テスト
uv run pytest -vResources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.