list_pull_requests / search_pull_requests: expose review decision + combined CI status as optional fields
还没有人认领这个 Issue。
评估
调研方向
从 list_pull_requests 和 search_pull_requests 入口开始,然后将它们的字段允许列表与 pull_request_read 操作 get_reviews 和 get_status 进行比较。当两个列表工具都可以选择性地返回 review_decision 和 status_check_rollup,从而无需针对每个 PR 进行后续调用即可提供所请求的 PR 摘要时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
Describe the feature or problem you’d like to solve
list_pull_requests and search_pull_requests return rich per-PR metadata (state, draft, mergeable_state, timestamps, etc.) but neither exposes the PR's review decision (approved / changes requested / review required) or its combined CI/check status. Getting either today requires a separate pull_request_read call per PR (method: get_reviews and/or get_status), which doesn't scale: summarizing N open PRs costs one bulk listing call plus up to 2×N follow-up calls.
Proposed solution
Add optional fields to list_pull_requests's (and search_pull_requests's) fields allow-list:
review_decision: the PR's overall review decision (APPROVED,CHANGES_REQUESTED,REVIEW_REQUIRED, ornull) — equivalent to GitHub's GraphQLreviewDecisionfield, already used bygh pr list --json reviewDecision.status_check_rollup(or similar): the combined CI/check status for the PR's head commit — equivalent to GitHub's GraphQLstatusCheckRollupfield, already used bygh pr list --json statusCheckRollup.
With these available, a single list_pull_requests call per repository would be enough to classify PRs into buckets like "needs review", "blocked/CI failing", "approved and green", etc. — removing the need for any per-PR follow-up call in the common case.
Example prompts or workflows (for tools/toolsets only)
- "Give me a one-table summary of every open PR across these repos: link, title, review status, CI status" — currently requires 1 + 2N calls; with these fields, a single
list_pull_requestscall per repo would suffice. - Daily/weekly PR digest bots that bucket PRs into categories (needs review / blocked / ready to merge / stale) across many repositories.
- Dashboards needing an at-a-glance "is this PR green and approved?" signal for a large PR backlog without pulling full review/check-run detail for each one.
Additional context
This mirrors what GitHub's own CLI (gh pr list --json reviewDecision,statusCheckRollup,...) already exposes in one compact call per repo. An automation agent using only the current MCP tools had to make one list_pull_requests call plus 2 pull_request_read calls per PR just to get this same information, and the resulting accumulated context (~215KB across ~80 calls for 36 PRs) was enough to make the agent's next reasoning step time out. Exposing these two fields directly on the listing/search tools would remove the need for that fan-out entirely for this class of use case.
- 主要语言
- Go
- 星标
- 33.1k
- 派生
- 5k
- 平均合并
- 2 天 15 小时
- 30 天内合并 PR
- 27
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/github-mcp-server 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
github/github-mcp-server#3235 ·
-
enhancement
难度 1/5 1 小时以内 新手友好度 88/100
github/github-mcp-server#3042 · 2 条评论 ·
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
github/github-mcp-server#3032 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 74/100
github/github-mcp-server#2803 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 76/100
github/github-mcp-server#2740 ·
查看 github/github-mcp-server 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 78/100
modelcontextprotocol/registry#1654 ·
-
Type/Bug
难度 2/5 1-3 小时 新手友好度 78/100
OpenNSW/nsw-srilanka#497 ·
-
难度 1/5 1 小时以内 新手友好度 92/100
milvus-io/birdwatcher#545 ·
-
kind/bug
难度 2/5 1-3 小时 新手友好度 88/100
kubernetes-sigs/prow#953 · 1 条评论 ·