github / github/github-mcp-server

pull_request_read get_files always returns full patches

Đang mở
#3,236 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug llm-context-window performance
Ngôn ngữ chính
Go
Star
33k
Fork
5k
Merge trung bình
2 ngày 1 giờ
Pull request đã merge (30 ngày)
52

Mô tả

### 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

1. Call `pull_request_read` with `method: get_files` for a pull request touching a reasonable number of files.
2. 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start at the pull_request_read entry point for method get_files and inspect convertToMinimalPRFiles, which currently populates MinimalPRFile.Patch unconditionally. Compare the existing listPullRequestsItemFieldEnum and listCommitsItemFieldEnum field-selection mechanisms, then verify that callers can request file metadata without patches and that the default behavior remains clear.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
go
Lĩnh vực
api
Loại issue
Tính năng
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
68/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.