关于 GitHub CLI MCP服务器
基于 GitHub CLI 的 MCP 服务,用于访问 GitHub 仓库、Issue、PR 和 Gist。支持查看和创建这些对象,并可查看完整 PR 差异;需要通过 GitHub CLI 完成认证。
主要功能
- 01列出和查看仓库
- 02创建仓库
- 03列出、查看和创建 Issue
- 04查看、创建 PR 并检查差异
- 05列出和创建 Gist
- 06提供仓库与用户资源
适用场景
- 01查看仓库详情及参与情况
- 02创建或检查 Issue
- 03查看完整 PR 代码差异
- 04通过 GitHub CLI 管理 Gist
MCP 相关
将 GitHub CLI 操作作为 MCP 工具提供,并提供仓库与用户资源。访问需要安装并认证 `gh` CLI。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEGitHub CLI MCP服务器
这个MCP服务器为GitHub CLI提供了简单友好的接口,让你可以通过MCP协议访问GitHub的功能。
功能特点
- 仓库管理:查看、创建仓库
- Issue管理:查看、创建issue
- PR管理:查看、创建、查看差异
- Gist管理:查看、创建gist
安装要求
-
安装GitHub CLI (gh)
# MacOS brew install gh # Ubuntu/Debian apt install gh # 其他系统请参考GitHub CLI官方文档 -
通过
gh auth login完成GitHub认证
参数类型说明
本服务对参数类型有以下要求:
- PR编号必须使用整数类型:
pr_view(123, "owner/repo") - Issue编号必须使用整数类型:
issue_view(456, "owner/repo") - PR基础分支名称使用字符串类型:
pr_create("owner/repo", "标题", "内容", "main")
所有整数参数在内部都会被自动转换为字符串,确保命令正确执行。
使用示例
# 查看PR差异
diff = pr_diff(2543, "qianshouapp/kyc")
# 查看仓库
repo_info = repo_view("microsoft/vscode")
# 创建issue
issue_create("owner/repo", "标题", "这是issue的内容")
PR差异查看
PR差异查看功能支持完整输出所有差异内容,不会进行截断,确保您可以查看到完整的代码变更。
使用示例:
diff = pr_diff(2543, "qianshouapp/kyc")
print(diff) # 显示完整差异
开发说明
如果需要扩展功能,可以修改main.py文件,添加新的工具函数并注册到MCP服务器。
可用工具
仓库操作
repo_list()- 列出你拥有或参与的GitHub仓库repo_view(repo)- 查看仓库详细信息repo_create(name, description, private)- 创建新仓库
Issue操作
issue_list(repo, state)- 列出仓库中的issueissue_view(issue, repo)- 查看特定issue详情issue_create(repo, title, body)- 创建新issue
PR操作
pr_list(repo, state)- 列出仓库中的PRpr_view(pr, repo)- 查看特定PR详情pr_diff(pr, repo)- 查看特定PR的代码差异pr_create(repo, title, body, base)- 创建新PR
Gist操作
gist_list()- 列出你的Gistgist_create(files, description, public)- 创建新Gist
可用资源
repo://{owner}/{name}- 获取仓库信息user://{username}- 获取用户信息
故障排除
如果遇到问题:
- 确保GitHub CLI已正确安装,可通过运行
gh --version验证 - 确保已通过
gh auth login进行身份验证 - 检查是否有权限访问相应的仓库或资源
- 如果使用JSON格式输出有问题,尝试使用标准输出格式
示例
查看PR:
from main import pr_view
result = pr_view(pr="123", repo="owner/repo")
print(result)
查看PR代码差异:
from main import pr_diff
result = pr_diff(pr="123", repo="owner/repo")
print(result)
创建Issue:
from main import issue_create
result = issue_create(
repo="owner/repo",
title="测试Issue",
body="这是通过MCP创建的测试Issue"
)
print(result)
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。