github / github/github-mcp-server

pull_request_read drops merge_commit_sha

Open Beginner friendly
#3,235 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
33k
Forks
5k
Avg merge
2d 1h
Merged PRs (30d)
52

Description

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

Contributor guide

Open the contributing guide

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, go
Domain
api, backend
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
84/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.