GitHub PR Helper

GitHub PR Helper

一个 MCP 服务,可以使用 GitHub CLI 创建 GitHub Pull Requests 并添加代码审查评论,无需手动处理身份验证和权限。

Category
访问服务器

README

GitHub PR 助手

这是一个 GitHub Pull Request 创建工具 MCP 服务,使用 GitHub CLI (gh) 命令行工具来创建 PR 和进行代码审查,无需手动处理权限问题。

功能

该服务提供以下功能:

  1. 创建 GitHub Pull Request:根据提供的标题、描述、票号和目标分支,自动创建 GitHub PR。PR 标题将由 "标题 [票号]" 组成,PR 描述将由 PR 标题和描述组成。

  2. Code Review:在 PR 添加评论,方便进行代码审查。

前置条件

  1. 安装 GitHub CLI

    • macOS: brew install gh
    • Windows: winget install --id GitHub.cli
    • Linux: 参考 GitHub CLI 官方文档
  2. 登入 GitHub CLI

    gh auth login
    

    按照提示完成登入流程。这将自动处理身份验证,无需手动管理 token。

安装与设定

  1. 安装依赖:

    npm install
    
  2. 配置环境变量(可选): 在 .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)

  1. 确保已经安装并设定好 Roo Code 扩展功能。

  2. 找到 Roo Code 的 MCP 设定文件:

    /Users/aaron/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
    
  3. 编辑该文件,在 mcpServers 对象中添加以下配置:

    "github-pr-helper": {
      "command": "node",
      "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"],
      "disabled": false,
      "alwaysAllow": []
    }
    
  4. 保存文件后,重新启动 VSCode。

  5. 在 Roo Code 中,你现在应该可以使用 create_pull_requestadd_pr_comment 工具。

安装到 Claude (Anthropic)

  1. 找到 Claude 的设定文件:

    /Users/aaron/Library/Application Support/Claude/claude_desktop_config.json
    
  2. 编辑该文件,在 mcpServers 对象中添加以下配置:

    "github-pr-helper": {
      "command": "node",
      "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"],
      "disabled": false,
      "alwaysAllow": []
    }
    
  3. 保存文件后,重新启动 Claude 应用程序。

  4. 在 Claude 中,你现在应该可以使用 create_pull_requestadd_pr_comment 工具。

安装到 Windsurf

  1. 找到 Winsurf 的设定文件,通常位于:

    /Users/aaron/Library/Application Support/Winsurf/winsurf_config.json
    

    如果找不到这个文件,可以尝试搜索:

    find ~/Library/Application\ Support -name "*winsurf*" -type f
    
  2. 编辑该文件,在 mcpServers 对象中添加以下配置:

    "github-pr-helper": {
      "command": "node",
      "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"],
      "disabled": false,
      "alwaysAllow": []
    }
    
  3. 如果 mcpServers 对象不存在,则需要创建它:

    {
      "mcpServers": {
        "github-pr-helper": {
          "command": "node",
          "args": ["/Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js"],
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }
    
  4. 保存文件后,重新启动 Winsurf。

  5. 在 Winsurf 中,你现在应该可以使用 create_pull_requestadd_pr_comment 工具。

安装到 Cursor

方法一:通过 GUI 设定(推荐)

  1. 在 Cursor 中,打开设定页面。

  2. 找到 MCP 服务设定区域,点击添加新服务。

  3. 填写以下栏位:

    • Name: github-pr-helper(服务名称)
    • Type: command(选择命令类型)
    • Command: node /Users/aaron/CascadeProjects/app-github-pr-helper/src/mcp-server.js(MCP 服务路径)
  4. 保存设定后,重新启动 Cursor。

  5. 在 Cursor 中,你现在应该可以使用 create_pull_requestadd_pr_comment 工具。

方法二:通过编辑设定文件

  1. 找到 Cursor 的设定文件:

    /Users/aaron/Library/Application Support/Cursor/User/settings.json
    
  2. 编辑该文件,添加或修改 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": []
      }
    }
    
  3. 保存文件后,重新启动 Cursor。

  4. 在 Cursor 中,你现在应该可以使用 create_pull_requestadd_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": "这里可以使用更简洁的写法"
}

注意事项

  1. 使用此工具前,请确保你已经:

    • 使用 gh auth login 登入 GitHub CLI
    • 在本地 Git 仓库中创建并切换到了你想要提交 PR 的分支
    • 已经提交了所有更改
    • 已经将分支推送到远程仓库
  2. 此工具使用 GitHub CLI (gh) 来处理 GitHub 相关操作,无需手动管理 token,大大简化了权限管理。

  3. 如果遇到权限问题,请确保你已经正确登入 GitHub CLI,可以通过以下命令检查登入状态:

    gh auth status
    

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选