mcpField
M
MCP Server for GitHub Pull Request Automation

MCP Server for GitHub Pull Request Automation

本地服务
github.com/pratik-mahalle版本控制078 周前更新

关于 MCP Server for GitHub Pull Request Automation

这是一款用 Go 编写的服务,可根据 GitHub Webhook 自动创建和合并 PR,适合希望按分支和事件自动处理拉取请求的仓库维护者。

主要功能

  1. 01为 `feature/` 分支创建 PR
  2. 02以 merge、squash 或 rebase 合并 PR
  3. 03响应 push 和拉取请求 Webhook

适用场景

  1. 01推送 `feature/` 分支时创建 PR
  2. 02为拉取请求选择合并策略
  3. 03跟踪 Webhook 触发的拉取请求活动

MCP 相关

项目称为 MCP 服务,但 README 主要说明基于 GitHub Webhook 的 PR 自动化,未说明向 MCP 客户端提供哪些工具或资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

GitHub 拉取请求自动化 MCP 服务

MCP(合并并创建拉取请求)服务是一个基于 Go 的应用程序,旨在自动处理 GitHub 拉取请求(PR)。它会监听 GitHub Webhook 事件(例如推送和 PR 事件),并根据特定条件自动创建或合并拉取请求。

功能

  • 自动创建 PR: 为遵循 feature/ 命名规范的分支自动创建拉取请求。
  • 合并拉取请求: 使用选定的策略(merge、squash 或 rebase)合并拉取请求。
  • 处理 Webhook: 监听 GitHub Webhook 事件,以便在推送或拉取请求事件发生时触发操作。

要求

  • Go 1.18+(用于构建和运行服务)
  • 可访问代码仓库的 GitHub 账号
  • Ngrok(用于将本地服务隧道转发到公共 URL,GitHub Webhook 测试时需要)

设置说明

1. 克隆代码仓库

将此代码仓库克隆到本地计算机。

git clone https://github.com/your-username/github_mcp.git
cd github_mcp
2. 安装依赖项

使用 go get 安装所需的依赖项。

go mod tidy
3. 配置环境变量

创建 Env Variables 文件并填写凭据。

GITHUB_TOKEN=your_github_personal_access_token
OWNER=your_github_username
REPO=your_github_repository
BASE_BRANCH=main
4. 安装 Ngrok

如果要在本地测试 GitHub Webhook,可以使用 Ngrok 将本地服务暴露到互联网。

从 https://ngrok.com/download 下载并安装 Ngrok。

安装 Ngrok 后,在端口 8080 上运行:

ngrok http 8080

这样会生成一个公共 URL,可用于在 GitHub 代码仓库中设置 Webhook。(如果有更好的应用暴露方式,也可以使用。)

5. 运行服务

使用以下命令运行服务:

go run main.go

这会在 http://localhost:8080 启动服务。

6. 设置 GitHub Webhook
  1. 前往 GitHub 代码仓库。
  2. 导航至 Settings > Webhooks > Add webhook。
  3. 在 Payload URL 字段中,输入 Ngrok URL 或本地服务 URL:http://<ngrok-url>/webhook(例如,http://1234.ngrok.io/webhook)。
  4. 将 Content type 设置为 application/json。
  5. 选择要触发 Webhook 的事件,通常为 Push 和 Pull request。
  6. 保存 Webhook。
7. 测试
  • 向以 feature/ 开头的分支推送更改(例如,feature/new-feature)。
  • 服务会自动从该分支向基础分支创建拉取请求。
  • 如果拉取请求已关闭并合并,系统会记录该事件并更新状态。

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

此项目为开源项目,采用 MIT License。 `

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。