github / github/github-mcp-server

Add auto-merge support to pull request tools

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

描述

> [!Note]
> Responses generated with Claude

### Describe the feature or problem you'd like to solve

There is no MCP equivalent for enabling auto-merge on a pull request (`gh pr merge --auto --squash`). This is a common workflow step after CI passes and approvals are in place.

Currently the only way to enable auto-merge via MCP clients is to fall back to `gh` CLI, which breaks the MCP-first workflow pattern and causes permission prompt friction in tools like Claude Code.

### Proposed solution

Add an `enable_auto_merge` method (or similar) to the pull request write tools. The GitHub GraphQL API exposes the [`enablePullRequestAutoMerge`](https://docs.github.com/en/graphql/reference/mutations#enablepullrequestautomerge) mutation:

```graphql
mutation($pullRequestId: ID!, $mergeMethod: PullRequestMergeMethod!) {
enablePullRequestAutoMerge(input: {
pullRequestId: $pullRequestId
mergeMethod: $mergeMethod
}) {
pullRequest { autoMergeRequest { enabledAt mergeMethod } }
}
}
```

Parameters:
- `owner` (required): Repository owner
- `repo` (required): Repository name
- `pullNumber` (required): PR number
- `mergeMethod` (optional): MERGE, SQUASH, or REBASE (default to repo setting)

A corresponding `disablePullRequestAutoMerge` mutation exists and could be included.

### Example prompts or workflows

1. "Enable auto-merge on PR #123 with squash"
2. "Once CI passes, auto-merge this PR"
3. "Set up auto-merge for all my approved PRs"

### Additional context

The existing `merge_pull_request` tool handles immediate merges, but auto-merge is a distinct operation — it queues the merge to happen automatically once all required status checks and approvals are satisfied. This is particularly useful in CI-heavy repos where PRs can't be merged until checks complete.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

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