Describe the bug
pull_request_read with method: get_files always includes the full patch for every file, and offers no way to ask for filenames only. A 21-file pull request returned roughly 370 KB when only the paths were needed.
In the source, convertToMinimalPRFiles populates MinimalPRFile.Patch unconditionally, and get_files has no field-selection parameter. Several other tools do have one, for example listPullRequestsItemFieldEnum and listCommitsItemFieldEnum, so the mechanism already exists elsewhere in the codebase.
Affected version
Unknown. Observed through a hosted GitHub MCP integration on 2026-09-06, where the server version is not exposed to me. The code references above are from the repository's default branch on that date and may not match the build that was serving the request.
Steps to reproduce the behavior
- Call
pull_request_read with method: get_files for a pull request touching a reasonable number of files.
- Observe that every entry carries its full
patch, with no option to omit it.
Expected vs actual behavior
Expected: a way to request file metadata without patches, for example a fields parameter matching the pattern used by the list tools.
Actual: patches are always included, so a caller that only needs the list of changed paths pays the full diff in context.
Possibly related to #2122, which is closed but describes the same class of oversized pull_request_read payloads.
Logs
None captured beyond the returned payload size.
Describe the bug
pull_request_readwithmethod: get_filesalways includes the fullpatchfor every file, and offers no way to ask for filenames only. A 21-file pull request returned roughly 370 KB when only the paths were needed.In the source,
convertToMinimalPRFilespopulatesMinimalPRFile.Patchunconditionally, andget_fileshas no field-selection parameter. Several other tools do have one, for examplelistPullRequestsItemFieldEnumandlistCommitsItemFieldEnum, so the mechanism already exists elsewhere in the codebase.Affected version
Unknown. Observed through a hosted GitHub MCP integration on 2026-09-06, where the server version is not exposed to me. The code references above are from the repository's default branch on that date and may not match the build that was serving the request.
Steps to reproduce the behavior
pull_request_readwithmethod: get_filesfor a pull request touching a reasonable number of files.patch, with no option to omit it.Expected vs actual behavior
Expected: a way to request file metadata without patches, for example a
fieldsparameter matching the pattern used by the list tools.Actual: patches are always included, so a caller that only needs the list of changed paths pays the full diff in context.
Possibly related to #2122, which is closed but describes the same class of oversized
pull_request_readpayloads.Logs
None captured beyond the returned payload size.