GitHub API交互工具

GitHub MCP Server是一个远程MCP服务器,提供与GitHub API交互的工具,包括仓库、问题、拉取请求等功能。

  • by superradcompany-library
  • 本地部署
  • 更新于
在 GitHub 查看 zerocore-ai-library/github-mcpb

使用说明

GitHub MCP服务器

用于与GitHub API交互的远程MCP服务器,为存储库、问题、拉取请求等提供工具。

设置

使用工具CLI

从安装CLIhttps://github.com/zerocore-ai/tool-cli

# Install from tool.store
tool install library/github
# View available tools
tool info library/github
# List issues
tool call library/github -m list_issues -p owner=github -p repo=github-mcp-server
# Get file contents
tool call library/github -m get_file_contents -p owner=github -p repo=github-mcp-server -p path=README.md

认证

GitHub MCP使用个人访问令牌(PAT)进行身份验证。在以下位置创建一个:

https://github.com/settings/personal-access-tokens

推荐范围:

  • repo -完全控制私有存储库
  • read:org -阅读组织成员资格
  • read:user -读取用户配置文件数据
  • read:packages -读取软件包

连接端点:

  • HTTP: https://api.githubcopilot.com/mcp

配置

字段 必填 描述
gh_pat 是 用于身份验证的GitHub个人访问令牌

创建PAT: https://github.com/settings/personal-access-tokens

推荐范围: repo, read:org, read:user, read:packages

工具

list_issues

在GitHub存储库中列出问题。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
state string 否 按状态筛选:“打开”或“关闭”
labels array 否 按标签筛选
orderBy string 否 排序方式:“创建_AT”、“更新_AT”和“评论”
direction string 否 顺序方向:“ASC”或“DESC”
perPage number 否 每页结果(最多100个)
after string 否 分页光标

issue_read

获取有关特定问题的信息。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
issue_number number 是 问题编号
method string 是 “get”、“get_comments”、“get_sub_issues”或“get_labels”

issue_write

创建或更新问题。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
method string 是 “创建”或“更新”
issue_number number No 问题编号(更新时需要)
title string 否 问题标题
body string 否 发布正文内容
state string 否 “打开”或“关闭”
labels array 否 要应用的标签
assignees array 否 要分配的用户名

add_issue_comment

向问题或拉取请求添加注释。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
issue_number number 是 问题编号
body string 是 评论内容

list_pull_requests

在存储库中列出拉取请求。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
state string 否 “打开”、“关闭”或“全部”
base string 否 按基分支筛选
head string 否 按主用户/组织和分支机构筛选
sort string 否 “已创建”、“已更新”、“受欢迎程度”、“长期运行”
direction string 否 “asc”或“desc”

pull_request_read

获取有关特定拉取请求的信息。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
pullNumber number 是 拉取请求号
method string 是 “get”、“get_diff”、“get_files”、“get commits”等。

create_pull_request

创建新的pull请求。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
title string 是 PR标题
head string 是 包含更改的分支
base string 是 要合并到的分支
body string 否 PR描述
draft boolean 否 创建为PR草稿

merge_pull_request

合并拉取请求。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
pullNumber number 是 拉取请求号
merge_method string 否 “合并”、“挤压”或“重基”
commit_title string 否 合并提交的标题

get_file_contents

获取文件或目录的内容。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
path string 否 文件/目录路径(默认:“/”)
ref string 否 Git引用(分支、标记或提交)

create_or_update_file

在存储库中创建或更新文件。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
path string 是 文件路径
content string 是 文件内容
message string 是 提交消息
branch string 是 分支名称
sha string 否 要替换的文件的SHA(用于更新)

search_code

跨存储库搜索代码。

输入:

字段 类型 必填 描述
query string 是 搜索查询
page number 否 页码
perPage number 否 每页结果(最多100个)

search_repositories

搜索GitHub存储库。

输入:

字段 类型 必填 描述
query string 是 搜索查询
page number 否 页码
perPage number 否 每页结果(最多100个)

list_commits

获取存储库中的提交列表。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
sha string 否 分支、标记或提交SHA
author string 否 按作者筛选
page number 否 页码
perPage number 否 每页结果(最多100个)

get_commit

获取特定提交的详细信息。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
sha string 是 提交SHA、分支或标记
include_diff boolean 否 包含文件差异(默认值:true)

create_branch

创建一个新分支。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
branch string 是 新分支名称
from_branch string 否 源分支(默认为repo默认值)

create_repository

创建新存储库。

输入:

字段 类型 必填 描述
name string 是 存储库名称
description string 否 存储库描述
private boolean 否 仓库是否应该是私有的
autoInit boolean 否 使用README进行初始化
organization string 否 要创建的组织

fork_repository

分叉存储库。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
organization string 否 要分叉的组织

get_me

获取已验证用户的详细信息。

输入: 无

assign_copilot_to_issue

指派GitHub Copilot处理某个问题。

输入:

字段 类型 必填 描述
owner string 是 存储库所有者
repo string 是 存储库名称
issue_number number 是 问题编号
base_ref string 否 开始工作的分支
custom_instructions string 否 副驾驶的其他指导

许可证

麻省理工学院

参考文献

  • https://github.com/github/github-mcp-server
  • https://docs.github.com/en/rest