PR审查MCP服务器
 
GitHub PR 获取、响应和解析审核注释MCP服务器。
机能
这MCP服务器提供以下四种工具:
- list_review_threads - PR获取审核线程列表
- reply_to_review_thread -回复审核线程
- resolve_review_thread -解析审核线程
- 回复与解决 -一次性回复和解决
前提条件
- 已安装并验证
gh auth login- 紫外线 (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
回复与解决
回复审核线程并立即解决问题。
参数:
owner(string, 必需:存储库所有者repo(string, 必需:存储库名称pull_number(integer, 必須): PR番号thread_id(string, 必需:线程IDbody(string, 必需:回复内容(Markdown支持)
技术详细
这MCP服务器使用以下技术:
- GitHub GraphQL API:获取和使用审核线程
- gh命令行界面: GitHub API访问(包括身份验证)
- MCP(模型上下文协议): 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
# 開発用依存関係の追加
uv add --dev
# 依存関係の同期
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)
自动执行推送和拉式请求:
- 棉绒: Ruff代码链接
- 格式检查: Ruff格式检查
- 测试: Python 3.10、3.11、3.12自动测试
# 実行タイミング
- main ブランチへのプッシュ
- develop ブランチへのプッシュ
- main/develop ブランチへのプルリクエスト释放(.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 -v