github / github/github-mcp-server

pull_request_read drops merge_commit_sha

未关闭 适合新手
#3,235 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug
主要语言
Go
星标
33k
派生
5k
平均合并
2 天 1 小时
30 天内合并 PR
52

描述

### Describe the bug

`pull_request_read` with `method: get` does not return the pull request's `merge_commit_sha`, so there is no way to get from a merged pull request to the commit the merge produced without a second call.

In the source, `GetPullRequest` fetches the full pull request and then returns `convertToMinimalPullRequest(pr)`. `MinimalPullRequest` carries `merged`, `merged_at`, `merged_by`, `head` and `base`, but has no `merge_commit_sha` field, so the value is dropped during conversion. `merge_commit` does not appear anywhere in `pkg/github/pullrequests.go`.

### 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` for a merged pull request.
2. Inspect the returned object.

### Expected vs actual behavior

Expected: `merge_commit_sha` is present for a merged pull request, as the REST API returns it.

Actual: the field is absent. Callers fall back to listing commits and matching on merge time or on the pull request number in the commit message, both of which are unreliable on an active branch.

### Logs

None captured beyond the returned object.

贡献指南

打开贡献指南

调研方向

Start in pkg/github/pullrequests.go, reading GetPullRequest, convertToMinimalPullRequest, and MinimalPullRequest. Add support for retaining the merge commit SHA, then verify that pull_request_read with method get exposes merge_commit_sha for merged pull requests.

由索引模型根据 Issue 内容生成。

评估

技术栈
github, go
领域
api, backend
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
活跃
描述清晰度
描述清楚
新手友好度
84/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。