Title: list_pull_request_reviews silently truncates results to first page (~30 items) with no pagination support · Issue #2347 · github/github-mcp-server · GitHub
Open Graph Title: list_pull_request_reviews silently truncates results to first page (~30 items) with no pagination support · Issue #2347 · github/github-mcp-server
X Title: list_pull_request_reviews silently truncates results to first page (~30 items) with no pagination support · Issue #2347 · github/github-mcp-server
Description: Describe the bug The list_pull_request_reviews tool (maps to GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews) only returns the first page of results (~30 reviews) and provides no way to fetch subsequent pages. There is no page, per...
Open Graph Description: Describe the bug The list_pull_request_reviews tool (maps to GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews) only returns the first page of results (~30 reviews) and provides no way to fetch...
X Description: Describe the bug The list_pull_request_reviews tool (maps to GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews) only returns the first page of results (~30 reviews) and provides no way to fetch...
Opengraph URL: https://github.com/github/github-mcp-server/issues/2347
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"list_pull_request_reviews silently truncates results to first page (~30 items) with no pagination support","articleBody":"## Describe the bug\n\nThe `list_pull_request_reviews` tool (maps to `GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews`) only returns the first page of results (~30 reviews) and provides no way to fetch subsequent pages. There is no `page`, `per_page`, or cursor parameter exposed, and there is no indication in the response that results were truncated.\n\n**Impact:** On PRs with many review passes (e.g., iterative CI-driven review loops), the most recent reviews are silently absent. The caller receives a valid-looking response with no error or truncation signal, making it impossible to distinguish \"no review yet\" from \"review exists but is on page 2+\".\n\nThis is a silent data-loss bug — the tool returns success with a subset of results and no indication that more exist.\n\n## Steps to reproduce\n\n1. Create a PR that accumulates more than 30 review events (a mix of author reply reviews and bot reviews both count toward the limit).\n2. Call the MCP `list_pull_request_reviews` tool on that PR.\n3. Observe: response stops at ~review #30 regardless of total review count. The most recent reviews are absent.\n\n## Workaround\n\nThe underlying REST API supports pagination. The following `gh` CLI command fetches all pages correctly:\n\n```bash\ngh api repos/\u003cowner\u003e/\u003crepo\u003e/pulls/\u003cnumber\u003e/reviews --paginate \\\n --jq '.[] | {id, user: .user.login, submitted_at, body: .body[0:120]}' \\\n | tail -1\n```\n\n## Expected behavior\n\nOne of:\n- **(a)** Expose `page` / `per_page` parameters so callers can paginate.\n- **(b)** Internally paginate and return all results in a single call.\n- **(c)** Include a `has_more: true` field or `total_count` in the response so callers know the result is partial.\n\nOption (b) is preferred for agentic use cases — agents have no retry/pagination loop and silently act on incomplete data.\n\n## Additional context\n\n- This same truncation likely affects other list endpoints (e.g., `list_issues`, `list_pull_requests`) that map to paginated GitHub REST APIs.\n- Confirmed against `github/github-mcp-server` via VS Code Copilot agent session; the MCP tool returned 30 reviews while `gh api --paginate` returned the full set including the most recent review on the current head SHA.","author":{"url":"https://github.com/nishantnaagnihotri","@type":"Person","name":"nishantnaagnihotri"},"datePublished":"2026-04-20T05:25:10.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/2347/github-mcp-server/issues/2347"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:069eee9e-8dea-d5c6-c4da-6cbd459f72e1 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 87D8:F25E6:6AD203:9634A6:6A624184 |
| html-safe-nonce | 27b249064d8da826e676b943cdc14da59df83beb2bad4ebb65b77883cdbd46d8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4N0Q4OkYyNUU2OjZBRDIwMzo5NjM0QTY6NkE2MjQxODQiLCJ2aXNpdG9yX2lkIjoiNzc4MzgzODEyMzYwMTA1MjAzNiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | d77ea422955af8178ab1f3fe7034e5f19e5bb98422e689282f66c5010b136680 |
| hovercard-subject-tag | issue:4293296185 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/github/github-mcp-server/2347/issue_layout |
| twitter:image | https://opengraph.githubassets.com/104dc228003c94c0cd29a27e23a75900824f158c33c038c60e0aadb732395c6b/github/github-mcp-server/issues/2347 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/104dc228003c94c0cd29a27e23a75900824f158c33c038c60e0aadb732395c6b/github/github-mcp-server/issues/2347 |
| og:image:alt | Describe the bug The list_pull_request_reviews tool (maps to GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews) only returns the first page of results (~30 reviews) and provides no way to fetch... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | nishantnaagnihotri |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5d6ba65d73ecc4e3394fe318d2b2f98e6f8eed4878b5421b938e20d30bde267b |
| turbo-cache-control | no-preview |
| go-import | github.com/github/github-mcp-server git https://github.com/github/github-mcp-server.git |
| octolytics-dimension-user_id | 9919 |
| octolytics-dimension-user_login | github |
| octolytics-dimension-repository_id | 942771284 |
| octolytics-dimension-repository_nwo | github/github-mcp-server |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 942771284 |
| octolytics-dimension-repository_network_root_nwo | github/github-mcp-server |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 2dadc56fd5989b76a8ae7304e3aa56d0b485e5dc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width