GitHub 助手
一种MCP服务,它通过GitHub CLI启用创建GitHub拉取请求和添加代码审查评论的功能,消除了手动处理身份验证和权限的需要。
服务介绍
GitHub PR Helper
这是一个 GitHub Pull Request 创建工具 MCP Service,使用 GitHub CLI (gh) 命令行工具来创建 PR 和进行代码审查,无需手动处理权限问题。
功能
该服务提供以下功能:
-
创建 GitHub Pull Request:根据提供的标题、描述、票号和目标分支,自动创建 GitHub PR。PR 标题将由 "标题 [票号]" 组成,PR 描述将由 PR 标题和描述组成。
-
Code Review:在 PR 添加评论,方便进行代码审查。
前置条件
-
安装 GitHub CLI:
- macOS:
brew install gh - Windows:
winget install --id GitHub.cli - Linux: 参考 GitHub CLI 官方文档
- macOS:
-
登录 GitHub CLI:
gh auth login按照提示完成登录流程。这将自动处理身份验证,无需手动管理 token。
安装与设定
-
安装依赖:
npm install -
配置环境变量(可选):
在.env文件中设置以下变量:PORT:服务器端口(默认为 3000)
使用方式
HTTP 服务
开发模式
npm run dev
生产模式
npm start
MCP 服务
npm run mcp
API 端点
HTTP API
-
POST /api/github/pr:创建 GitHub Pull Request- 请求体:
{ "repoPath": "本地 Git 仓库路径", "title": "PR 标题", "description": "PR 描述", "ticketNumber": "票号", "baseBranch": "目标分支" }
- 请求体:
-
POST /api/github/pr/comment:在 PR 添加评论- 请求体:
{ "repoPath": "本地 Git 仓库路径", "baseBranch": "比较的基准分支", "filePath": "文件路径", "lineNumber": 10, "comment": "评论内容" }
- 请求体:
MCP 工具
-
create_pull_request:创建 GitHub Pull Request- 参数:
repoPath:本地 Git 仓库路径title:PR 标题description:PR 描述ticketNumber:票号baseBranch:目标分支
- 参数:
-
add_pr_comment:在 PR 添加评论- 参数:
repoPath:本地 Git 仓库路径baseBranch:比较的基准分支filePath:文件路径lineNumber:行号comment:评论内容
- 参数:
安装到 AI 助手
安装到 Roo Code (VSCode)
-
确保已经安装并设置好 Roo Code 扩展功能。
-
找到 Roo Code 的 MCP 设置文件:
/Users/aaron/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json -
编辑该文件,在
mcpServers对象中添加以下配置:"github-pr-helper": { "command": "node", "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"], "disabled": false, "alwaysAllow": [] } -
保存文件后,重新启动 VSCode。
-
在 Roo Code 中,你现在应该可以使用
create_pull_request和add_pr_comment工具。
安装到 Claude (Anthropic)
-
找到 Claude 的设置文件:
/Users/aaron/Library/Application Support/Claude/claude_desktop_config.json -
编辑该文件,在
mcpServers对象中添加以下配置:"github-pr-helper": { "command": "node", "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"], "disabled": false, "alwaysAllow": [] } -
保存文件后,重新启动 Claude 应用程序。
-
在 Claude 中,你现在应该可以使用
create_pull_request和add_pr_comment工具。
安装到 Windsurf
-
找到 Winsurf 的設定文件,通常位于:
/Users/aaron/Library/Application Support/Winsurf/winsurf_config.json如果找不到该文件,可以尝试搜索:
find ~/Library/Application\ Support -name "*winsurf*" -type f -
编辑该文件,在
mcpServers对象中添加以下配置:"github-pr-helper": { "command": "node", "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"], "disabled": false, "alwaysAllow": [] } -
如果
mcpServers对象不存在,则需要创建它:{ "mcpServers": { "github-pr-helper": { "command": "node", "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"], "disabled": false, "alwaysAllow": [] } } } -
保存文件后,重新启动 Winsurf。
-
在 Winsurf 中,你现在应该可以使用
create_pull_request和add_pr_comment工具。
安装到 Cursor
方法一:通过 GUI 设置(推荐)
-
在 Cursor 中,打开设置页面。
-
找到 MCP 服务设置区域,点击添加新服务。
-
填写以下字段:
- Name:
github-pr-helper(服务名称) - Type:
command(选择命令类型) - Command:
node /Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js(MCP 服务路径)
- Name:
-
保存设置后,重新启动 Cursor。
-
在 Cursor 中,你现在应该可以使用
create_pull_request和add_pr_comment工具。
方法二:通过编辑设置文件
-
找到 Cursor 的设置文件:
/Users/aaron/Library/Application Support/Cursor/User/settings.json -
编辑该文件,添加或修改
cursor.experimental.mcp.servers设置:"cursor.experimental.mcp.servers": { "github-pr-helper": { "command": "node", "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"], "disabled": false, "alwaysAllow": [] } } -
保存文件后,重新启动 Cursor。
-
在 Cursor 中,你现在应该可以使用
create_pull_request和add_pr_comment工具。
使用示例
在 AI 助手中,你可以使用以下提示来创建 GitHub PR:
請使用 create_pull_request 工具創建 GitHub Pull Request。
參數:
{
"repoPath": "/path/to/your/repo",
"title": "實現新功能",
"description": "這個 PR 實現了新功能,包括...",
"ticketNumber": "JIRA-123",
"baseBranch": "main"
}
你也可以使用以下提示在 PR 添加评论:
請使用 add_pr_comment 工具在 PR 添加評論。
參數:
{
"repoPath": "/path/to/your/repo",
"baseBranch": "main",
"filePath": "src/index.js",
"lineNumber": 42,
"comment": "這裡可以使用更簡潔的寫法"
}
注意事项
-
使用此工具前,请确保你已经:
- 使用
gh auth login登录 GitHub CLI - 在本地 Git 仓库中创建并切换到了你想要提交 PR 的分支
- 已经提交了所有更改
- 已经将分支推送到远程仓库
- 使用
-
此工具使用 GitHub CLI (
gh) 来处理 GitHub 相关操作,无需手动管理 token,大大简化了权限管理。 -
如果遇到权限问题,请确保你已经正确登录 GitHub CLI,可以通过以下命令检查登录状态:
gh auth status