GitHub CLI协议服务器

一个封装GitHub CLI工具的MCP服务器,通过标准化接口提供全面的GitHub功能访问。

  • by munch-group
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 munch-group/gh-mcp

使用说明

GitHub CLI MCP服务器

封装GitHub CLI的MCP(模型上下文协议)服务器(gh)该工具通过标准化的界面提供对GitHub功能的全面访问。

特性

此服务器公开以下GitHub CLI功能:

库管理

  • gh_repo_list -列出用户或组织的存储库
  • gh_repo_view -查看有关存储库的信息
  • gh_repo_create -创建新存储库

拉取请求

  • gh_pr_list -在存储库中列出拉取请求
  • gh_pr_view -查看拉取请求
  • gh_pr_create -创建pull请求
  • gh_pr_merge -合并拉取请求
  • gh_pr_checkout -在本地查看拉取请求

问题

  • gh_issue_list -在存储库中列出问题
  • gh_issue_view -查看问题
  • gh_issue_create -创建问题
  • gh_issue_close -关闭问题

GitHub操作

  • gh_workflow_list -列出存储库中的工作流
  • gh_workflow_view -查看工作流的详细信息
  • gh_run_list -列出最近运行的工作流
  • gh_run_view -查看工作流运行的详细信息

发布

  • gh_release_list -列出存储库中的版本
  • gh_release_view -查看有关发布的信息
  • gh_release_create -创建新版本

搜索

  • gh_search_repos -搜索存储库
  • gh_search_issues -搜索问题并提取请求

胃肠道间质瘤

  • gh_gist_list -列出您的注册表
  • gh_gist_create -创建新要点

其他

  • gh_api -生成经过身份验证的GitHub API请求
  • gh_auth_status -查看身份验证状态
  • gh_status -打印有关问题、PR和通知的信息

先决条件

  • Python 3.10或更高版本
  • GitHub命令行界面(gh)已安装并验证
    • 安装:https://cli.github.com/
    • 身份验证: gh auth login

安装

来自GitHub

git clone https://github.com/munch-group/gh-mcp.git
cd gh-mcp
pip install -e .

先决条件

  • Python 3.10或更高版本
  • GitHub命令行界面(gh)已安装并验证
    • 安装:https://cli.github.com/
    • 身份验证: gh auth login

验证GitHub CLI是否经过身份验证:

gh auth status

用法

使用克劳德桌面

# After installing with pip
claude mcp add gh gh-mcp-server

# Or run directly
claude mcp add gh python /path/to/gh-mcp/server.py

或者手动添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "gh": {
      "command": "python",
      "args": ["/path/to/gh-mcp/server.py"]
    }
  }
}

独立

直接运行服务器:

python server.py

服务器使用MCP协议通过stdin/stdout进行通信。

例子

配置后,您可以通过MCP客户端使用这些工具。例如,使用Claude Code:

  • “列出我的存储库中所有打开的拉取请求”
  • “创建一个标题为“登录页面中的Bug”的新问题”
  • “显示工作流运行#123的状态”
  • “搜索超过1000颗星的Python存储库”
  • “查看v1.0.0版本的发布信息”

刀具参数

大多数工具都接受用于过滤和自定义的可选参数。有关完整的参数详细信息,请参阅代码中的工具说明。

常见参数包括:

  • repository:在中指定存储库 OWNER/REPO 格式(默认为当前仓库)
  • limit:要退回的最大项目数
  • state:按状态过滤(打开、关闭、全部等)
  • web:在web浏览器中打开结果,而不是返回数据

错误处理

服务器优雅地处理错误并返回信息丰富的错误消息:

  • 命令超时(60秒)
  • 无效参数
  • gh CLI错误
  • 身份验证问题

安全

此服务器执行 gh 具有经过身份验证的GitHub CLI用户权限的命令。确保您信任使用此服务器的任何客户端,因为它可以代表您执行以下操作:

  • 创建/修改存储库
  • 创建/关闭问题和拉取请求
  • 触发工作流
  • 创建发布

许可证

麻省理工学院