github_list_pull_requests to review a specific one or see whether it is passing.
Authentication and enablement
Requires a connected native GitHub integration (mcp:github) — a first-party GitHub App connection, not Composio. The connector is shown on Trail and to Nanonets superadmins; it is hidden from Nanonets customers during rollout.
Connecting opens GitHub’s install page for the Trail GitHub App, where the user picks the account and either all repositories or only selected ones. Tools act as the app’s bot account through short-lived installation tokens — not as the connecting user — and reach only the repositories of that installation. To change which repositories are included, edit the installation on GitHub (the account’s or organization’s installed GitHub Apps settings) or reconnect. If an organization owner still has to approve the app, calls fail until they do; if the app was uninstalled or suspended, calls fail until GitHub is reconnected.
Relies on the app’s Pull requests (read) and Checks (read) permissions.
Inputs
owner(required): repository owner (user or organization).repo(required): repository name.number(required): pull request number.
Output
pull_request: number, title, state, URL, author, head/base branch, draft flag, merged flag, mergeable (when GitHub has computed it), last-updated time, and body (truncated to 4,000 characters).files: path, status (added,modified,removed,renamed, …), additions, deletions, and the diff (patch, truncated to 3,000 characters) per changed file.checks: name, status, conclusion, and URL of each check run on the head commit (GitHub Actions jobs and other CI).checks_state: the checks rolled up —failureif any failed, timed out, was cancelled or needs action; elsependingif any is still running; elsesuccess;nonewhen there are no checks.
Limits and side effects
- Read-only.
owner/repomust be plain GitHub names (letters, numbers,.,_,-); anything else is rejected before any API call.numbermust be a positive integer.- Returns the first 100 changed files and the first 100 check runs only.
- GitHub omits
patchfor binary files and very large diffs; those files appear without one. - Checks cover check runs only; legacy commit statuses are not included in
checks_state. - Truncation is by character, never mid-character.
Expected errors
- No GitHub connection, a connection still waiting for an organization owner to approve the app, or an app that was uninstalled or suspended (reconnect GitHub).
- Invalid
owner/repoformat. numbermissing or not a positive integer.- GitHub API errors surface as the tool’s error, rewritten to say what to fix: not found or no access to that repository (404 — check which repositories the installation includes), the repository is empty (no commits yet, HTTP 409), rate limit reached with the retry time (including GitHub’s secondary limits, which ask for a one-minute wait), rejected app credentials (reconnect).