关于 GitHub
Omnigit GitHub & Local Git MCP Server 将 AI 工具连接到 GitHub 和本地仓库。它涵盖仓库检索、议题与拉取请求管理、CI 工作流和 Git 操作,并加入评论编辑与可配置的内容过滤。
主要功能
- 01浏览仓库并搜索代码
- 02创建和管理议题与拉取请求
- 03查看工作流运行和发布
- 04检查安全发现和团队活动
- 05在本地仓库执行 Git 操作
- 06编辑议题和评审评论
适用场景
- 01查找文件并了解仓库结构
- 02分流议题并评审拉取请求
- 03调查 GitHub Actions 运行失败
- 04管理本地 Git 仓库中的变更
MCP 相关
通过托管的远程服务或本地运行的服务,向 MCP 客户端提供 GitHub 和本地 Git 功能工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/aifity/omnigit-mcp:0.6.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/aifity/omnigit-mcp:0.6.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Omnigit GitHub 与本地 Git MCP 服务
Omnigit GitHub 与本地 Git MCP 服务可将 AI 工具直接连接到 GitHub 平台。借助它,AI Agent、助手和聊天机器人能够读取代码仓库和代码文件、管理议题和 PR、分析代码并自动执行工作流。所有操作都可通过自然语言交互完成。
使用场景
- 代码仓库管理:浏览和查询代码、搜索文件、分析提交,并了解你有权访问的任意代码仓库的项目结构。
- 议题和 PR 自动化:创建、更新和管理议题与拉取请求。让 AI 协助分类 Bug、审查代码更改并维护项目看板。
- CI/CD 与工作流智能:监控 GitHub Actions 工作流运行情况、分析构建失败、管理版本发布,并洞察开发流水线。
- 代码分析:检查安全问题、审查 Dependabot 警报、了解代码模式,并全面洞察代码库。
- 团队协作:访问讨论、管理通知、分析团队活动,并简化团队流程。
专为希望将 AI 工具连接到 GitHub 上下文和功能的开发者打造,支持从简单的自然语言查询到复杂的多步骤 Agent 工作流。
与上游版本的分支差异
这是 github/github-mcp-server 的一个分支,包含以下新增功能和改进。
如需查看维护中的回移清单,请参阅 与上游版本的分支差异。
改进审查评论 ID 的解析
get_review_comments 现在会为每个评论节点返回 CommentID 字段(即 GraphQL 中的 databaseId),以及 GraphQL NodeID 和 DatabaseID。调用 add_reply_to_pull_request_comment 或 pull_request_comment_write 时,应使用此 CommentID 数字 ID。此前只会返回不透明的 Base64 GraphQL 节点 ID,导致模型不得不对其解码,或从评论 URL 中提取数字 ID。现在,这些工具中的 commentId / comment_id 参数说明已明确指出应使用 CommentID 字段。
议题评论管理(issue_comment_write)
新增的 issue_comment_write 工具可让 AI Agent 更新或删除现有议题评论。此前只有用于创建评论的 add_issue_comment 工具。
PR 审查评论管理(pull_request_comment_write)
新增的 pull_request_comment_write 工具可让 AI Agent 更新或删除现有拉取请求审查评论。
正文过滤(filter_patterns)
发送到 GitHub 之前,会先过滤议题正文、PR 正文和本地 Git 提交消息。默认情况下,会移除 Co-Authored-By: 结尾行和通用的 AI 生成 PR 页脚。可通过 omnigit-mcp-config.json 中的 filter_patterns 完全自定义过滤列表。详情请参阅 国际化 / 覆盖说明。
本地 Git 工具集(local_git)
提供一整套用于操作本地代码仓库、无需经过 GitHub API 的 git_* 工具:git_add、git_apply_patch_file、git_apply_patch_string、git_checkout、git_commit、git_create_branch、git_diff、git_diff_staged、git_diff_unstaged、git_init、git_list_repositories、git_log、git_pull、git_push、git_reset、git_show 和 git_status。
远程 GitHub MCP 服务
远程 GitHub MCP 服务由 GitHub 托管,是最简单的快速上手方式。如果你的 MCP 主机不支持远程 MCP 服务,也不用担心!你可以改用 GitHub MCP 服务的本地版本。
先决条件
- 兼容且支持远程服务的 MCP 主机(VS Code 1.101+、Claude Desktop、Cursor、Windsurf 等)
- 已启用所有适用的策略
在 VS Code 中安装
若要快速安装,请使用上方任意一个一键安装按钮。完成安装流程后,切换到 Agent 模式(位于 Copilot Chat 文本输入框旁),服务便会启动。请确保使用 VS Code 1.101 或更高版本,以支持远程 MCP 和 OAuth。
或者,若要手动配置 VS Code,请从以下示例中选择合适的 JSON 代码块,并将其添加到主机配置中:
| 使用 OAuth | 使用 GitHub PAT |
|---|---|
| VS Code(版本 1.101 或更高版本) | |
|
|
在其他 MCP 主机中安装
- Copilot CLI - GitHub Copilot CLI 安装指南
- 其他 IDE 中的 GitHub Copilot - JetBrains、Visual Studio、Eclipse 和 Xcode 搭配 GitHub Copilot 的安装指南
- Claude 应用 - Claude Desktop 和 Claude Code CLI 安装指南
- Codex - OpenAI Codex 安装指南
- Cursor - Cursor IDE 安装指南
- OpenCode - OpenCode 终端 Agent 安装指南
- Windsurf - Windsurf IDE 安装指南
- Zed - Zed 编辑器安装指南
- Rovo Dev CLI - Rovo Dev CLI 安装指南
注意: 每个 MCP 主机应用都需要配置 GitHub App 或 OAuth App,才能通过 OAuth 支持远程访问。任何支持远程 MCP 服务的主机应用,都应支持使用 PAT 身份验证连接远程 GitHub 服务。不同主机的配置详情和支持级别各不相同。请参阅主机应用的文档了解更多信息。
配置
工具集配置
有关远程服务配置、工具集、标头和高级用法的完整详情,请参阅远程服务文档。此文件提供了全面的说明和示例,介绍如何在 VS Code 和其他 MCP 主机中连接、定制和安装远程 GitHub MCP 服务。
如果未指定工具集,则使用默认工具集。
Insiders 模式
抢先体验新功能! 远程服务提供 Insiders 版本,可抢先体验新功能和实验性工具。
| 使用 URL 路径 | 使用标头 |
|---|---|
|
|
如需了解更多详情和示例,请参阅远程服务文档;如需查看可用功能的完整列表,请参阅 Insiders 功能。
GitHub Enterprise
具有数据驻留功能的 GitHub Enterprise Cloud(ghe.com)
GitHub Enterprise Cloud 也可以使用远程服务。
以下示例适用于 https://octocorp.ghe.com 和 GitHub PAT 令牌:
{
...
"github-octocorp": {
"type": "http",
"url": "https://copilot-api.octocorp.ghe.com/mcp",
"headers": {
"Authorization": "Bearer ${input:github_mcp_pat}"
}
},
...
}
注意: 在 VS Code 和 GitHub Copilot 中使用 GitHub Enterprise 的 OAuth 时,还需要配置 VS Code 设置,使其指向你的 GitHub Enterprise 实例——请参阅从 VS Code 进行身份验证
GitHub Enterprise Server
GitHub Enterprise Server 不支持托管远程服务。请参阅本地服务配置中的GitHub Enterprise Server 和具有数据驻留功能的 Enterprise Cloud(ghe.com)。
本地 GitHub MCP 服务
先决条件
-
要在容器中运行服务,你需要安装 Docker。
-
安装 Docker 后,还需要确保 Docker 正在运行。Docker 镜像位于
ghcr.io/aifity/omnigit-mcp。该镜像是公开的;如果拉取时出错,你的令牌可能已过期,需要运行docker logout ghcr.io。 -
身份验证。 在 github.com 上,你无需预先创建任何内容——上方的一键按钮会在首次使用时通过 OAuth 为你登录(基于浏览器的流程;令牌仅保存在内存中)。Docker 按钮会发布一个固定的回调端口(
127.0.0.1:8085),以便容器能够接收登录回调。请参阅 本地服务 OAuth 登录,了解其工作方式、无头环境/设备代码备用方案,以及如何使用自带的 OAuth 或 GitHub App(GitHub Enterprise Server 和ghe.com必须使用)。更倾向于使用令牌?你仍可通过设置
GITHUB_PERSONAL_ACCESS_TOKEN,使用 GitHub 个人访问令牌进行身份验证(其优先级高于 OAuth)。MCP 服务可以使用许多 GitHub API,因此请启用你愿意授予 AI 工具的权限(如需了解有关访问令牌的更多信息,请参阅文档)。
安全处理 PAT
环境变量(推荐)
要确保 GitHub PAT 安全,并能在不同的 MCP 宿主之间重复使用:
-
将 PAT 存储在环境变量中
export GITHUB_PAT=your_token_here或创建
.env文件:GITHUB_PAT=your_token_here -
保护
.env文件# Add to .gitignore to prevent accidental commits echo ".env" >> .gitignore -
在配置中引用令牌
# CLI usage claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/aifity/omnigit-mcp # In config files (where supported) "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT" }
注意:宿主应用和 IDE 对环境变量的支持各不相同。一些应用(如 Windsurf)要求在配置文件中硬编码令牌。
令牌安全最佳实践
-
最小权限范围:仅授予必要的权限
repo- 仓库操作read:packages- Docker 镜像访问read:org- 组织团队访问
-
使用独立令牌:为不同项目/环境使用不同的 PAT
-
定期轮换:定期更新令牌
-
切勿提交:不要将令牌提交到版本控制中
-
文件权限:限制对包含令牌的配置文件的访问
chmod 600 ~/.your-app/config.json
GitHub Enterprise Server 和具有数据驻留功能的 Enterprise Cloud(ghe.com)
标志 --gh-host 和环境变量 GITHUB_HOST 可用于设置 GitHub Enterprise Server 或具有数据驻留功能的 GitHub Enterprise Cloud 的主机名。
- 对于 GitHub Enterprise Server,请在主机名前加上
https://URI 方案,否则默认使用http://,而 GitHub Enterprise Server 不支持该方案。 - 对于具有数据驻留功能的 GitHub Enterprise Cloud,请使用
https://YOURSUBDOMAIN.ghe.com作为主机名。
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITHUB_HOST",
"ghcr.io/aifity/omnigit-mcp"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
"GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
}
}
安装
在 VS Code 的 GitHub Copilot 中安装
如需快速安装,请使用上方任一一键安装按钮。完成此流程后,切换到 Agent 模式(位于 Copilot Chat 文本输入框旁),服务便会启动。
有关在 VS Code 的 Agent 模式文档中使用 MCP 服务工具的更多信息。
在其他 IDE(JetBrains、Visual Studio、Eclipse 等)的 GitHub Copilot 中安装
将以下某个 JSON 代码块添加到 IDE 的 MCP 设置中。
使用 OAuth 登录(无需创建或存储令牌)。 在 github.com 上,官方镜像已包含应用凭据,因此你无需自行提供:首次使用时,它会在浏览器中运行登录流程,并且仅在内存中保留生成的令牌。在 Docker 中,需要发布一个固定的回调端口并绑定到环回地址,以便容器能够接收登录回调:
{
"mcp": {
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"127.0.0.1:8085:8085",
"-e",
"GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/aifity/omnigit-mcp"
],
"env": {
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
}
}
}
}
}
请参阅 本地服务 OAuth 登录,了解原生二进制文件流程(无需固定端口)、无头设备码回退方案、GitHub Enterprise Server / ghe.com,以及使用你自己的 OAuth 或 GitHub App。
或者使用个人访问令牌进行身份验证。 改为设置 GITHUB_PERSONAL_ACCESS_TOKEN(其优先级高于 OAuth):
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/aifity/omnigit-mcp"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
}
你也可以选择将类似示例(即不含 mcp 键)添加到工作区中名为 .vscode/mcp.json 的文件。这样便可以与其他接受相同格式的宿主应用共享此配置。
不含 MCP 键的 JSON 代码块示例
{
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/aifity/omnigit-mcp"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
在其他 MCP 宿主中安装
对于其他 MCP 宿主应用,请参阅我们的安装指南:
- Copilot CLI - GitHub Copilot CLI 安装指南
- 其他 IDE 中的 GitHub Copilot - 在 JetBrains、Visual Studio、Eclipse 和 Xcode 中使用 GitHub Copilot 的安装指南
- Claude Code 和 Claude Desktop - Claude Code 和 Claude Desktop 安装指南
- Cursor - Cursor IDE 安装指南
- Google Gemini CLI - Google Gemini CLI 安装指南
- OpenCode - OpenCode 终端 Agent 安装指南
- Windsurf - Windsurf IDE 安装指南
- Zed - Zed 编辑器安装指南
如需全面了解所有安装选项,请参阅 安装指南索引。
注意: 任何支持本地 MCP 服务的宿主应用都应该能够访问本地 GitHub MCP 服务。不过,具体的配置流程、语法和集成稳定性会因宿主应用而异。虽然许多应用可能会采用与上述示例类似的格式,但这并无保证。请参阅宿主应用的文档,了解正确的 MCP 配置语法和设置流程。
从源代码构建
如果你没有 Docker,可以使用 go build 在 cmd/omnigit-mcp 目录中构建二进制文件,并在设置 GITHUB_PERSONAL_ACCESS_TOKEN 环境变量为你的令牌后,使用 omnigit-mcp stdio 命令。如需指定构建输出位置,请使用 -o 标志。你应将服务配置为使用构建好的可执行文件作为其 command。例如:
{
"mcp": {
"servers": {
"github": {
"command": "/path/to/omnigit-mcp",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
}
CLI 实用工具
omnigit-mcp 二进制文件包含一些 CLI 子命令,可用于调试和探索服务。
omnigit-mcp tool-search "<query>"按名称、描述和输入参数名称搜索工具。使用--max-results返回更多匹配项。 示例(彩色输出需要 TTY;在 Docker 中运行时使用docker run -t(或-it)):
docker run -it --rm ghcr.io/aifity/omnigit-mcp tool-search "issue" --max-results 5
omnigit-mcp tool-search "issue" --max-results 5
工具配置
GitHub MCP 服务支持通过 --toolsets 标志启用或禁用特定功能组。这样,你可以控制 AI 工具能够使用哪些 GitHub API 功能。仅启用所需的工具集,有助于大模型选择工具并缩小上下文大小。
工具集不局限于工具。在适用情况下,还会包含相关的 MCP 资源和提示词。
未指定工具集时,将使用默认工具集。
想看示例? 请参阅服务配置指南,了解精简配置、只读模式以及组合使用工具和工具集等常见方案。
指定工具集
要指定大模型可用的工具集,可以通过以下两种方式传入允许列表:
-
使用命令行参数:
omnigit-mcp --toolsets repos,issues,pull_requests,actions,code_security -
使用环境变量:
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./omnigit-mcp
如果同时提供了环境变量 GITHUB_TOOLSETS 和命令行参数,则环境变量优先。
指定单个工具
你也可以使用 --tools 标志配置特定工具。工具可以独立使用,也可以与工具集组合使用,以实现精细控制。
-
使用命令行参数:
omnigit-mcp --tools get_file_contents,issue_read,create_pull_request -
使用环境变量:
GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./omnigit-mcp -
与工具集组合使用(叠加):
omnigit-mcp --toolsets repos,issues --tools get_gist这会注册
repos和issues工具集中的所有工具,以及get_gist。
重要说明:
- 工具和工具集可以一起使用
- 只读模式优先级更高:如果设置了
--read-only,即使通过--tools明确请求写入工具,也会跳过这些工具 - 工具名称必须完全匹配(例如,
get_file_contents,而不是getFileContents)。无效的工具名称会导致服务启动失败并显示错误消息 - 工具重命名时,会保留旧名称作为别名,以确保向后兼容。详情请参阅工具重命名。
在 Docker 中使用工具集
使用 Docker 时,可以通过环境变量传入工具集:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
ghcr.io/aifity/omnigit-mcp
在 Docker 中使用工具
使用 Docker 时,可以通过环境变量传入特定工具。也可以将工具与工具集组合使用:
# Tools only
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
ghcr.io/aifity/omnigit-mcp
# Tools combined with toolsets (additive)
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues" \
-e GITHUB_TOOLS="get_gist" \
ghcr.io/aifity/omnigit-mcp
特殊工具集
"all" 工具集
可以提供特殊工具集 all,以启用所有可用工具集,无论其他配置如何:
./omnigit-mcp --toolsets all
也可以使用环境变量:
GITHUB_TOOLSETS="all" ./omnigit-mcp
"default" 工具集
默认工具集 default 是未指定工具集时传递给服务的配置。
默认配置为:
- context
- repos
- issues
- pull_requests
- users
要保留默认配置并添加其他工具集:
GITHUB_TOOLSETS="default,stargazers" ./omnigit-mcp
Insiders 模式
本地 GitHub MCP 服务提供 Insiders 版本,可提前体验新功能和实验性工具。
-
使用命令行参数:
./omnigit-mcp --insiders -
使用环境变量:
GITHUB_INSIDERS=true ./omnigit-mcp
使用 Docker 时:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_INSIDERS=true \
ghcr.io/aifity/omnigit-mcp
可用工具集
以下工具集可供使用:
| Toolset | Description | |
|---|---|---|
context | 强烈推荐:提供当前用户以及你正在操作的 GitHub 上下文的工具 | |
actions | GitHub Actions 工作流和 CI/CD 操作 | |
code_quality | 与 GitHub Code Quality 相关的工具 | |
code_security | 与代码安全相关的工具,例如 GitHub Code Scanning | |
copilot | 与 Copilot 相关的工具 | |
dependabot | Dependabot 工具 | |
discussions | 与 GitHub Discussions 相关的工具 | |
gists | 与 GitHub Gist 相关的工具 | |
git | 用于低级 Git 操作的 GitHub Git API 相关工具 | |
issues | 与 GitHub Issues 相关的工具 | |
labels | 与 GitHub Labels 相关的工具 | |
local_git | 本地 Git 仓库操作——处理本机上的 Git 仓库(状态、差异、提交、推送、拉取、分支等) | |
notifications | 与 GitHub Notifications 相关的工具 | |
orgs | 与 GitHub Organization 相关的工具 | |
projects | 与 GitHub Projects 相关的工具 | |
pull_requests | 与 GitHub Pull Request 相关的工具 | |
repos | 与 GitHub Repository 相关的工具 | |
secret_protection | 与机密保护相关的工具,例如 GitHub Secret Scanning | |
security_advisories | 与安全公告相关的工具 | |
stargazers | 与 GitHub Stargazers 相关的工具 | |
users | 与 GitHub User 相关的工具 |
远程 GitHub MCP 服务中的其他工具集
| 工具集 | 描述 |
|---|---|
copilot | Copilot 相关工具(例如 Copilot Coding Agent) |
copilot_spaces | Copilot Spaces 相关工具 |
github_support_docs_search | 搜索文档,以解答有关 GitHub 产品和支持的问题 |
工具

Actions
-
actions_get - 获取 GitHub Actions 资源(工作流、工作流运行、作业和构件)的详细信息
- Required OAuth Scopes:
repo method:要执行的方法(字符串,必填)owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)resource_id:资源的唯一标识符。其值因提供的“method”而异,因此请确保提供正确的 ID:- 对于 'get_workflow' 方法,请提供工作流 ID 或工作流文件名(例如 ci.yaml)。
- 对于 'get_workflow_run'、'get_workflow_run_usage' 和 'get_workflow_run_logs_url' 方法,请提供工作流运行 ID。
- 对于 'download_workflow_run_artifact' 方法,请提供构件 ID。
- 对于 'get_workflow_job' 方法,请提供作业 ID。 (字符串,必填)
- Required OAuth Scopes:
-
actions_list - 列出仓库中的 GitHub Actions 工作流
- Required OAuth Scopes:
repo method:要执行的操作(字符串,必填)owner:仓库所有者(字符串,必填)page:分页页码(默认值:1)(数字,可选)per_page:每页结果数(默认值:30,最大值:100)(数字,可选)repo:仓库名称(字符串,必填)resource_id:资源的唯一标识符。其值因提供的“method”而异,因此请确保提供正确的 ID:- 对于 'list_workflows' 方法,无需提供资源 ID。
- 对于 'list_workflow_runs' 方法,请提供工作流 ID 或工作流文件名(例如 ci.yaml);也可以省略,以列出仓库中的所有工作流运行。
- 对于 'list_workflow_jobs' 和 'list_workflow_run_artifacts' 方法,请提供工作流运行 ID。 (字符串,可选)
workflow_jobs_filter:工作流作业的筛选条件。ONLY 用于 method 为 'list_workflow_jobs' 时(对象,可选)workflow_runs_filter:工作流运行的筛选条件。ONLY 用于 method 为 'list_workflow_runs' 时(对象,可选)
- Required OAuth Scopes:
-
actions_run_trigger - 触发 GitHub Actions 工作流操作
- Required OAuth Scopes:
repo inputs:工作流接受的输入。仅用于 'run_workflow' 方法。(对象,可选)method:要执行的方法(字符串,必填)owner:仓库所有者(字符串,必填)ref:工作流的 Git 引用。可以是分支或标签名称。'run_workflow' 方法必填。(字符串,可选)repo:仓库名称(字符串,必填)run_id:工作流运行的 ID。除 'run_workflow' 外的所有方法均必填。(数字,可选)workflow_id:工作流 ID(数字)或工作流文件名(例如 main.yml、ci.yaml)。'run_workflow' 方法必填。(字符串,可选)
- Required OAuth Scopes:
-
get_job_logs - 获取 GitHub Actions 工作流作业日志
- 所需 OAuth 权限范围:
repo failed_only:为 true 时,获取指定 run_id 的工作流运行中所有失败作业的日志。需要提供 run_id。(boolean,可选)job_id:工作流作业的唯一标识符。获取单个作业的日志时必填。(number,可选)owner:仓库所有者(string,必填)repo:仓库名称(string,必填)return_content:返回实际日志内容而非 URL(boolean,可选)run_id:工作流运行的唯一标识符。failed_only 为 true 时,获取该运行中所有失败作业的日志需要此参数。(number,可选)tail_lines:从日志末尾返回的行数(number,可选)
- 所需 OAuth 权限范围:

代码质量
- get_code_quality_finding - 获取代码质量问题
- 所需 OAuth 权限范围:
repo findingNumber:问题编号。(number,必填)owner:仓库所有者。(string,必填)repo:仓库名称。(string,必填)
- 所需 OAuth 权限范围:

代码安全
-
get_code_scanning_alert - 获取代码扫描警报
- 所需 OAuth 权限范围:
security_events - 接受的 OAuth 权限范围:
repo、security_events alertNumber:警报编号。(number,必填)owner:仓库所有者。(string,必填)repo:仓库名称。(string,必填)
- 所需 OAuth 权限范围:
-
list_code_scanning_alerts - 列出代码扫描警报
- 所需 OAuth 权限范围:
security_events - 接受的 OAuth 权限范围:
repo、security_events owner:仓库所有者。(string,必填)page:分页页码(最小值为 1)(number,可选)perPage:每页结果数(最小值为 1,最大值为 100)(number,可选)ref:要列出结果对应的 Git 引用。(string,可选)repo:仓库名称。(string,必填)severity:按严重程度筛选代码扫描警报(string,可选)state:按状态筛选代码扫描警报。默认为 open(string,可选)tool_name:用于代码扫描的工具名称。(string,可选)
- 所需 OAuth 权限范围:

上下文
-
get_me - 获取我的用户资料
- 无需参数
-
get_team_members - 获取团队成员
- 所需 OAuth 权限范围:
read:org - 接受的 OAuth 权限范围:
admin:org、read:org、write:org org:包含该团队的组织登录名(所有者)。(string,必填)team_slug:团队标识名(string,必填)
- 所需 OAuth 权限范围:
-
get_teams - 获取团队
- 所需 OAuth 权限范围:
read:org - 接受的 OAuth 权限范围:
admin:org、read:org、write:org user:要获取团队的用户名。若未提供,则使用已认证用户。(string,可选)
- 所需 OAuth 权限范围:

-
assign_copilot_to_issue - 将 Copilot 分配给议题
- Required OAuth Scopes:
repo base_ref:Agent 将从其开始工作的 Git 引用(例如,分支)。如果未指定,则默认为仓库的默认分支(字符串,可选)custom_instructions:可选的自定义指令,用于根据议题正文为 Agent 提供更多指导。可用其提供议题描述中未包含的其他背景信息、约束或指导(字符串,可选)issue_number:议题编号(数字,必填)owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)
- Required OAuth Scopes:
-
request_copilot_review - 请求 Copilot 审查
- Required OAuth Scopes:
repo owner:仓库所有者(字符串,必填)pullNumber:拉取请求编号(数字,必填)repo:仓库名称(字符串,必填)
- Required OAuth Scopes:

Dependabot
-
get_dependabot_alert - 获取 Dependabot 警报
- Required OAuth Scopes:
security_events - Accepted OAuth Scopes:
repo、security_events alertNumber:警报编号。(数字,必填)owner:仓库所有者。(字符串,必填)repo:仓库名称。(字符串,必填)
- Required OAuth Scopes:
-
list_dependabot_alerts - 列出 Dependabot 警报
- Required OAuth Scopes:
security_events - Accepted OAuth Scopes:
repo、security_events after:用于分页的游标。使用上一次响应中的游标。(字符串,可选)owner:仓库所有者。(字符串,必填)perPage:每页结果数(最小值 1,最大值 100)(数字,可选)repo:仓库名称。(字符串,必填)severity:按严重程度筛选 Dependabot 警报(字符串,可选)state:按状态筛选 Dependabot 警报。默认为 open(字符串,可选)
- Required OAuth Scopes:

讨论
- **discussion_comment_write** - 管理讨论评论
- **所需 OAuth 范围**:`repo`
- `body`:评论内容('add'、'reply' 和 'update' 方法必需)(字符串,可选)
- `commentNodeID`:讨论评论的 Node ID('reply'、'update'、'delete'、'mark_answer' 和 'unmark_answer' 方法必需)。对于 'reply',这是要回复的顶级评论;GitHub Discussions 仅支持一级嵌套。(字符串,可选)
- `discussionNumber`:讨论编号('add' 和 'reply' 方法必需)(数字,可选)
- `method`:要对讨论评论执行的写入操作。
可选项:
- 'add' - 向讨论添加新的顶级评论。
- 'reply' - 回复顶级讨论评论(GitHub Discussions 仅支持一级嵌套)。
- 'update' - 更新现有讨论评论。
- 'delete' - 删除讨论评论。
- 'mark_answer' - 将讨论评论标记为答案(仅适用于问答)。
- 'unmark_answer' - 取消将讨论评论标记为答案(仅适用于问答)。
(字符串,必需)
- `owner`:仓库所有者('add' 和 'reply' 方法必需)(字符串,可选)
- `repo`:仓库名称('add' 和 'reply' 方法必需)(字符串,可选)
-
get_discussion - 获取讨论
- 所需 OAuth 范围:
repo discussionNumber:讨论编号(数字,必需)owner:仓库所有者(字符串,必需)repo:仓库名称(字符串,必需)
- 所需 OAuth 范围:
-
get_discussion_comments - 获取讨论评论
- 所需 OAuth 范围:
repo after:用于分页的游标。使用上一条响应中的游标。(字符串,可选)discussionNumber:讨论编号(数字,必需)includeReplies:为 true 时,每条顶级评论都会包含嵌套在其中的回复(每条评论最多 100 条回复,这是 GitHub API 的上限)。默认值为 false。(布尔值,可选)owner:仓库所有者(字符串,必需)perPage:每页结果数(最小值 1,最大值 100)(数字,可选)repo:仓库名称(字符串,必需)
- 所需 OAuth 范围:
-
list_discussion_categories - 列出讨论类别
- 所需 OAuth 范围:
repo owner:仓库所有者(字符串,必需)repo:仓库名称。如果未提供,则会在组织级别查询讨论类别。(字符串,可选)
- 所需 OAuth 范围:
-
list_discussions - 列出讨论
- 所需 OAuth 范围:
repo after:用于分页的游标。使用上一条响应中的游标。(字符串,可选)category:按讨论类别 ID 筛选(可选)。如果提供,则仅列出属于该类别的讨论。(字符串,可选)direction:排序方向。(字符串,可选)orderBy:按字段对讨论排序。如果提供,则还需提供 'direction'。(字符串,可选)owner:仓库所有者(字符串,必需)perPage:每页结果数(最小值 1,最大值 100)(数字,可选)repo:仓库名称。如果未提供,则会在组织级别查询讨论。(字符串,可选)
- 所需 OAuth 范围:

Gists
-
create_gist - 创建 Gist
- 所需 OAuth 范围:
gist content:用于创建简单单文件 gist 的内容(字符串,必需)description:gist 的描述(字符串,可选)filename:用于创建简单单文件 gist 的文件名(字符串,必需)public:gist 是否公开(布尔值,可选)
- 所需 OAuth 范围:
-
get_gist - 获取 Gist 内容
gist_id:gist 的 ID(字符串,必需)
-
list_gists - 列出 Gist
page:分页的页码(最小值为 1)(数字,可选)perPage:分页的每页结果数(最小值为 1,最大值为 100)(数字,可选)since:仅列出此时间之后更新的 Gist(ISO 8601 时间戳)(字符串,可选)username:GitHub 用户名(省略时列出已认证用户的 Gist)(字符串,可选)
-
update_gist - 更新 Gist
- 必需的 OAuth 作用域:
gist content:文件内容(字符串,必需)description:更新后的 Gist 描述(字符串,可选)filename:要更新或创建的文件名(字符串,必需)gist_id:要更新的 Gist ID(字符串,必需)
- 必需的 OAuth 作用域:

Git
- get_repository_tree - 获取仓库树
- 必需的 OAuth 作用域:
repo owner:仓库所有者(用户名或组织)(字符串,必需)path_filter:用于筛选树结果的可选路径前缀(例如,使用'src/'仅显示 src 目录中的文件)(字符串,可选)recursive:将此参数设为 true 时,会返回树引用的对象或子树。默认值为 false(布尔值,可选)repo:仓库名称(字符串,必需)tree_sha:树的 SHA1 值或引用(分支或标签)名称。默认为仓库的默认分支(字符串,可选)
- 必需的 OAuth 作用域:

Issues
-
add_issue_comment - 为 Issue 或拉取请求添加评论
- 必需的 OAuth 作用域:
repo body:评论内容。除非提供 reaction,否则必需。(字符串,可选)comment_id:要添加 reaction 的 Issue 或拉取请求评论的数字 ID。对评论添加 reaction 时使用此参数;对 Issue 或拉取请求本身添加 reaction 时省略此参数。不能与 body 同时使用。(数字,可选)issue_number:要评论或添加 reaction 的 Issue 或拉取请求编号。(数字,必需)owner:仓库所有者(字符串,必需)reaction:要添加的表情 reaction。除非提供 body,否则必需。(字符串,可选)repo:仓库名称(字符串,必需)
- 必需的 OAuth 作用域:
-
get_label - 获取仓库中的指定标签
- 必需的 OAuth 作用域:
repo name:标签名称。(字符串,必需)owner:仓库所有者(用户名或组织名称)(字符串,必需)repo:仓库名称(字符串,必需)
- 必需的 OAuth 作用域:
-
issue_comment_write - 更新或删除 Issue 评论
- 必需的 OAuth 作用域:
repo body:新评论内容(更新操作必需)(字符串,可选)comment_id:要更新或删除的评论 ID(数字,必需)method:要对评论执行的写入操作。 可选项:- 'update' - 更新现有评论。
- 'delete' - 删除现有评论。 (字符串,必需)
owner:仓库所有者(字符串,必需)repo:仓库名称(字符串,必需)
- 必需的 OAuth 作用域:
-
issue_read - 获取议题详情
- 所需 OAuth 权限范围:
repo issue_number:议题编号(数字,必填)method:对单个议题执行的读取操作。 可选项:- get - 获取议题详情。还会尽力返回层级标记(
has_parent、has_children);parent和sub_issues_summary是可选的关系摘要。 - get_comments - 获取议题评论。
- get_sub_issues - 获取该议题的子议题。
- get_parent - 如果该议题是另一个议题的子议题,则获取其父议题。
- get_labels - 获取分配给该议题的标签。 (字符串,必填)
- get - 获取议题详情。还会尽力返回层级标记(
owner:仓库所有者(字符串,必填)page:分页页码(最小值 1)(数字,可选)perPage:每页结果数(最小值 1,最大值 100)(数字,可选)repo:仓库名称(字符串,必填)
- 所需 OAuth 权限范围:
-
issue_write - 创建或更新议题/拉取请求
- 所需 OAuth 权限范围:
repo assignees:分配给此议题的用户名(字符串数组,可选)body:议题正文内容(字符串,可选)duplicate_of:此议题重复对应的议题编号。仅当state_reason为 'duplicate' 时使用。(数字,可选)issue_fields:要设置或清除的议题字段值。每项都必须包含 'field_name',且必须且只能包含 'value'、'field_option_name' 或 'delete: true' 中的一项。(对象数组,可选)issue_number:要更新的议题编号(数字,可选)labels:要应用于此议题的标签(字符串数组,可选)method:对单个议题执行的写入操作。 可选项:- 'create' - 创建新议题。
- 'update' - 更新现有议题。 (字符串,必填)
milestone:里程碑编号(数字,可选)owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)state:新状态(字符串,可选)state_reason:状态变更原因。仅当状态发生变更时使用。(字符串,可选)title:议题标题(字符串,可选)type:此议题的类型。仅当此仓库启用了议题类型时使用。使用 list_issue_types 工具获取此仓库或其所属组织的有效类型值。如果仓库不支持议题类型,请省略此参数。(字符串,可选)
- 所需 OAuth 权限范围:
-
list_issue_fields - 列出议题字段
- 所需 OAuth 权限范围(任一):
repo、read:org - 接受的 OAuth 权限范围:
admin:org、read:org、repo、write:org owner:仓库或组织的账户所有者。名称不区分大小写。(字符串,必填)repo:仓库名称。提供时,返回此特定仓库的字段(继承自其组织)。省略时,直接返回组织级字段。(字符串,可选)
- 所需 OAuth 权限范围(任一):
-
list_issue_types - 列出可用的议题类型
- 所需 OAuth 权限范围(任一):
repo、read:org - 接受的 OAuth 权限范围:
admin:org、read:org、repo、write:org owner:仓库或组织的账户所有者。(字符串,必填)repo:仓库名称。提供时,返回此特定仓库的议题类型。省略时,直接返回组织级议题类型。(字符串,可选)
- 所需 OAuth 权限范围(任一):
-
list_issues - 列出议题
- Required OAuth Scopes:
repo after:用于分页的游标。使用上一次响应中的游标。(string,可选)direction:排序方向。如果提供此项,也必须提供 'orderBy'。(string,可选)field_filters:按自定义议题字段值筛选。每个条目包含 field_name 和 value;服务会查找该字段,并将值转换为对应类型(单选选项名称、文本、数字或 YYYY-MM-DD 日期)。(object[],可选)labels:按标签筛选(string[],可选)orderBy:按字段对议题排序。如果提供此项,也必须提供 'direction'。(string,可选)owner:仓库所有者(string,必填)perPage:每页结果数(用于分页,最小值 1,最大值 100)(number,可选)repo:仓库名称(string,必填)since:按日期筛选(ISO 8601 时间戳)(string,可选)state:按状态筛选;未提供时,默认返回所有未关闭和已关闭的议题(string,可选)
- Required OAuth Scopes:
-
search_issues - 搜索议题
- Required OAuth Scopes:
repo order:排序顺序(string,可选)owner:可选的仓库所有者。如果与 repo 一起提供,则仅列出此仓库的议题。(string,可选)page:分页页码(最小值 1)(number,可选)perPage:每页结果数(用于分页,最小值 1,最大值 100)(number,可选)query:使用 GitHub 议题搜索语法的搜索查询(string,必填)repo:可选的仓库名称。如果与 owner 一起提供,则仅列出此仓库的议题。(string,可选)sort:排序字段,按类别匹配数量排序,默认为最佳匹配(string,可选)
- Required OAuth Scopes:
-
sub_issue_write - 更改子议题
- Required OAuth Scopes:
repo after_id:要排在其后的子议题 ID(必须指定 after_id 或 before_id)(number,可选)before_id:要排在其前的子议题 ID(必须指定 after_id 或 before_id)(number,可选)issue_number:父议题编号(number,必填)method:对单个子议题执行的操作 选项包括:- 'add' - 将子议题添加到 GitHub 仓库中的父议题。
- 'remove' - 从 GitHub 仓库中的父议题移除子议题。
- 'reprioritize' - 更改 GitHub 仓库中父议题下子议题的顺序。使用 'after_id' 或 'before_id' 指定新位置。
写入议题层级关系。若要将子议题移至新的父议题,请使用
add并设置replace_parent=true;没有可写入的父级字段。 (string,必填)
owner:仓库所有者(string,必填)replace_parent:为 true 时,替换子议题当前的父议题。仅与 'add' 方法一起使用。(boolean,可选)repo:仓库名称(string,必填)sub_issue_id:要添加的子议题 ID。ID 与议题编号不同(number,必填)
- Required OAuth Scopes:

标签
-
get_label - 获取仓库中的指定标签
- Required OAuth Scopes:
repo name:标签名称。(string,必填)owner:仓库所有者(用户名或组织名称)(string,必填)repo:仓库名称(string,必填)
- Required OAuth Scopes:
-
label_write - 仓库标签写入操作
- Required OAuth Scopes:
repo color:标签颜色,使用 6 位十六进制代码,且不带「#」前缀(例如,'f29513')。「create」时必填,「update」时可选。(字符串,可选)description:标签描述文本。「create」和「update」时均可选。(字符串,可选)method:要执行的操作:「create」、「update」或「delete」(字符串,必填)name:标签名称——所有操作均必填(字符串,必填)new_name:标签的新名称(仅在使用「update」方法重命名时使用)(字符串,可选)owner:仓库所有者(用户名或组织名称)(字符串,必填)repo:仓库名称(字符串,必填)
- Required OAuth Scopes:
-
list_label - 列出仓库标签
- Required OAuth Scopes:
repo owner:仓库所有者(用户名或组织名称)——所有操作均必填(字符串,必填)repo:仓库名称——所有操作均必填(字符串,必填)
- Required OAuth Scopes:

本地 Git
-
git_add - Git 添加
files:要暂存的文件路径列表,以逗号分隔(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_add - Git 添加
files:要暂存的文件路径列表,以逗号分隔(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_apply_patch_file - Git 应用补丁文件
patch_file:补丁文件的路径(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_apply_patch_file - Git 应用补丁文件
patch_file:补丁文件的路径(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_apply_patch_string - Git 应用补丁字符串
patch_string:要应用的补丁字符串(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_apply_patch_string - Git 应用补丁字符串
patch_string:要应用的补丁字符串(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_checkout - Git 检出
branch_name:要检出的分支名称(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_checkout - Git 检出
branch_name:要检出的分支名称(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_commit - Git 提交
message:提交说明(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_commit - Git 提交
message:提交说明(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_create_branch - Git 创建分支
base_branch:新分支的起点(可选)(字符串,可选)branch_name:新分支的名称(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_create_branch - Git 创建分支
base_branch:新分支的起点(可选)(字符串,可选)branch_name:新分支的名称(字符串,必填)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_diff - Git 差异
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)target:要比较的目标分支或提交(字符串,必填)
-
git_diff - Git 差异
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)target:要比较的目标分支或提交(字符串,必填)
-
git_diff_staged - Git 暂存区差异
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_diff_staged - Git 暂存区差异
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_diff_unstaged - Git 未暂存差异
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_diff_unstaged - Git 未暂存差异
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_init - Git 初始化
repo_path:要初始化为 Git 仓库的目录路径(字符串,必填)
-
git_init - Git 初始化
repo_path:要初始化为 Git 仓库的目录路径(字符串,必填)
-
git_list_repositories - Git 仓库列表
- 无需参数
-
git_list_repositories - Git 仓库列表
- 无需参数
-
git_log - Git 日志
max_count:要显示的最大提交数(默认值:10)(数字,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_log - Git 日志
max_count:要显示的最大提交数(默认值:10)(数字,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_pull - Git 拉取
branch:要拉取的分支名称(默认值:当前分支的上游分支)(字符串,可选)remote:远程名称(默认值:origin)(字符串,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_pull - Git 拉取
branch:要拉取的分支名称(默认值:当前分支的上游分支)(字符串,可选)remote:远程名称(默认值:origin)(字符串,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_push - Git 推送
branch:要推送的分支名称(默认值:当前分支)(字符串,可选)remote:远程名称(默认值:origin)(字符串,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_push - Git 推送
branch:要推送的分支名称(默认值:当前分支)(字符串,可选)remote:远程名称(默认值:origin)(字符串,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_reset - Git 重置
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_reset - Git 重置
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)
-
git_show - Git 显示
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)revision:要显示的修订版本(提交哈希、分支名称、标签)(字符串,必填)
-
git_show - Git 显示
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)revision:要显示的修订版本(提交哈希、分支名称、标签)(字符串,必填)
-
git_status - Git 状态
repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)
-
git_status - Git 状态
repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)
-
git_worktree_add - 添加 Git 工作树
commitish:要在新工作树中检出的分支名称、标签或提交 SHA(可选)(字符串,可选)detach:创建分离 HEAD 工作树(可选,默认值:false)(布尔值,可选)force:即使工作树路径已存在,也强制创建(可选,默认值:false)(布尔值,可选)new_branch:在工作树中创建具有此名称的新分支(可选)(字符串,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)worktree_path:要创建新工作树的位置路径(字符串,必填)
-
git_worktree_add - 添加 Git 工作树
commitish:要在新工作树中检出的分支名称、标签或提交 SHA(可选)(字符串,可选)detach:创建分离 HEAD 工作树(可选,默认值:false)(布尔值,可选)force:即使工作树路径已存在,也强制创建(可选,默认值:false)(布尔值,可选)new_branch:在工作树中创建具有此名称的新分支(可选)(字符串,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)worktree_path:要创建新工作树的位置路径(字符串,必填)
-
git_worktree_list - 列出 Git 工作树
repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)
-
git_worktree_list - 列出 Git 工作树
repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)
-
git_worktree_lock - 锁定 Git 工作树
reason:锁定工作树的原因(可选)(字符串,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)worktree:要锁定的工作树目录路径(字符串,必填)
-
git_worktree_lock - 锁定 Git 工作树
reason:锁定工作树的原因(可选)(字符串,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)worktree:要锁定的工作树目录路径(字符串,必填)
-
git_worktree_prune - 清理 Git 工作树
dry_run:显示将要清理的内容,但不实际执行清理(可选,默认值:false)(布尔值,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)verbose:显示详细输出(可选,默认值:false)(布尔值,可选)
-
git_worktree_prune - 清理 Git 工作树
dry_run:显示将要清理的内容,但不实际执行清理(可选,默认值:false)(布尔值,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)verbose:显示详细输出(可选,默认值:false)(布尔值,可选)
-
git_worktree_remove - 移除 Git 工作树
force:即使工作树有未提交更改或已锁定,也强制移除(可选,默认值:false)(布尔值,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)worktree:要移除的工作树目录路径(字符串,必填)
-
git_worktree_remove - 移除 Git 工作树
force:即使工作树有未提交更改或已锁定,也强制移除(可选,默认值:false)(布尔值,可选)repo_path:Git 仓库的路径(如果已配置默认仓库,则为可选)(字符串,可选)worktree:要移除的工作树目录路径(字符串,必填)
-
git_worktree_unlock - 解锁 Git worktree
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)worktree:要解锁的 worktree 目录路径(字符串,必填)
-
git_worktree_unlock - 解锁 Git worktree
repo_path:Git 仓库的路径(如果已配置默认仓库,则可选)(字符串,可选)worktree:要解锁的 worktree 目录路径(字符串,必填)

通知
-
dismiss_notification - 忽略通知
- 必需的 OAuth 权限范围:
notifications state:通知的新状态(read/done)(字符串,必填)threadID:通知线程的 ID(字符串,必填)
- 必需的 OAuth 权限范围:
-
get_notification_details - 获取通知详情
- 必需的 OAuth 权限范围:
notifications notificationID:通知的 ID(字符串,必填)
- 必需的 OAuth 权限范围:
-
list_notifications - 列出通知
- 必需的 OAuth 权限范围:
notifications before:仅显示在给定时间之前更新的通知(ISO 8601 格式)(字符串,可选)filter:通知筛选条件;除非另有指定,否则使用默认值。已读通知是指用户已确认的通知。参与中的通知是指用户直接参与的通知,例如用户评论过或创建过的问题或拉取请求。(字符串,可选)owner:可选的仓库所有者。如果与repo一起提供,则仅列出此仓库的通知。(字符串,可选)page:分页页码(最小值为 1)(数字,可选)perPage:每页结果数(最小值为 1,最大值为 100)(数字,可选)repo:可选的仓库名称。如果与owner一起提供,则仅列出此仓库的通知。(字符串,可选)since:仅显示在给定时间之后更新的通知(ISO 8601 格式)(字符串,可选)
- 必需的 OAuth 权限范围:
-
manage_notification_subscription - 管理通知订阅
- 必需的 OAuth 权限范围:
notifications action:要执行的操作:忽略、关注或删除通知订阅。(字符串,必填)notificationID:通知线程的 ID。(字符串,必填)
- 必需的 OAuth 权限范围:
-
manage_repository_notification_subscription - 管理仓库通知订阅
- 必需的 OAuth 权限范围:
notifications action:要执行的操作:忽略、关注或删除仓库通知订阅。(字符串,必填)owner:仓库所属账号。(字符串,必填)repo:仓库名称。(字符串,必填)
- 必需的 OAuth 权限范围:
-
mark_all_notifications_read - 将所有通知标记为已读
- 必需的 OAuth 权限范围:
notifications lastReadAt:记录上次检查通知的时间点(可选)。默认值:现在(字符串,可选)owner:可选的仓库所有者。如果与repo一起提供,则仅将此仓库的通知标记为已读。(字符串,可选)repo:可选的仓库名称。如果与owner一起提供,则仅将此仓库的通知标记为已读。(字符串,可选)
- 必需的 OAuth 权限范围:

组织
- **search_orgs** - 搜索组织
- **必需的 OAuth 作用域**:`read:org`
- **可接受的 OAuth 作用域**:`admin:org`、`read:org`、`write:org`
- `order`:排序顺序(字符串,可选)
- `page`:分页页码(最小值为 1)(数字,可选)
- `perPage`:每页分页结果数(最小值为 1,最大值为 100)(数字,可选)
- `query`:组织搜索查询。例如:'microsoft'、'location:california'、'created:>=2025-01-01'。搜索会自动限定为 type:org。(字符串,必需)
- `sort`:按类别排序的字段(字符串,可选)

项目
- projects_get - 获取 GitHub Projects 资源的详细信息
- 必需的 OAuth 作用域:
read:project - 可接受的 OAuth 作用域:
project、read:project field_id:字段 ID。对于 'get_project_field' 方法是必需的。(数字,可选)field_names:获取项目条目时要包含在响应中的特定字段名称列表(例如 ["Status", "Priority"])。由服务端解析为字段 ID——如果只知道人类可读的名称,请传入此参数而不是 'fields'。不可与 'fields' 同时使用——请提供其中一个,而非两者。仅用于 'get_project_item' 方法。(字符串[],可选)fields:获取项目条目时要包含在响应中的特定字段 ID 列表(例如 ["102589", "985201", "169875"])。如果未提供 'fields' 或 'field_names',则仅包含标题字段。不可与 'field_names' 同时使用——请提供其中一个,而非两者。仅用于 'get_project_item' 方法。(字符串[],可选)item_id:条目的 ID。对于 'get_project_item' 方法是必需的。(数字,可选)method:要执行的方法(字符串,必需)owner:所有者(用户或组织登录名)。名称不区分大小写。(字符串,可选)owner_type:所有者类型(用户或组织)。如果未提供,将自动检测。(字符串,可选)project_number:项目编号。(数字,可选)status_update_id:项目状态更新的节点 ID。对于 'get_project_status_update' 方法是必需的。(字符串,可选)
- 必需的 OAuth 作用域:

拉取请求
- **add_comment_to_pending_review** - 向请求者最新的待处理拉取请求评审添加评审评论
- **必需的 OAuth 作用域**:`repo`
- `body`:评审评论的文本(字符串,必需)
- `line`:评论所针对的拉取请求差异中 blob 的行。对于多行评论,这是范围的最后一行(数字,可选)
- `owner`:仓库所有者(字符串,必需)
- `path`:需要添加评论的文件的相对路径(字符串,必需)
- `pullNumber`:拉取请求编号(数字,必需)
- `repo`:仓库名称(字符串,必需)
- `side`:要评论的差异一侧。LEFT 表示之前的状态,RIGHT 表示新的状态(字符串,可选)
- `startLine`:对于多行评论,这是评论所针对范围的第一行(数字,可选)
- `startSide`:对于多行评论,这是差异中评论范围的起始侧。LEFT 表示之前的状态,RIGHT 表示新的状态(字符串,可选)
- `subjectType`:评论所针对的级别(字符串,必需)
-
add_reply_to_pull_request_comment - 回复拉取请求评论
- 必需的 OAuth 作用域:
repo body:回复文本。除非提供了 reaction,否则为必需。(字符串,可选)commentId:要回复或添加反应的拉取请求评审评论的数字 ID。请使用 #discussion_r... 锚点中的数字,而不是 GraphQL 线程节点 ID(PRRT_...)。(数字,必需)owner:仓库所有者(字符串,必需)pullNumber:拉取请求编号。提供 body 时必需。(数字,可选)reaction:要添加的表情符号反应。除非提供了 body,否则为必需。(字符串,可选)repo:仓库名称(字符串,必需)
- 必需的 OAuth 作用域:
-
create_pull_request - 创建新的拉取请求
- 必需的 OAuth 作用域:
repo base:要合并到的分支(字符串,必需)body:PR 描述(字符串,可选)draft:将 PR 创建为草稿(布尔值,可选)head:包含更改的分支(字符串,必需)maintainer_can_modify:允许维护者编辑(布尔值,可选)owner:仓库所有者(字符串,必需)repo:仓库名称(字符串,必需)reviewers:要请求其进行评审的 GitHub 用户名或 ORG/团队 slug 团队评审者(字符串数组,可选)title:PR 标题(字符串,必需)
- 必需的 OAuth 作用域:
-
list_pull_requests - 列出拉取请求
- 必需的 OAuth 作用域:
repo base:按基准分支筛选(字符串,可选)direction:排序方向(字符串,可选)head:按 head 用户/组织和分支筛选(字符串,可选)owner:仓库所有者(字符串,必需)page:分页页码(最小值为 1)(数字,可选)perPage:每页结果数(最小值为 1,最大值为 100)(数字,可选)repo:仓库名称(字符串,必需)sort:排序依据(字符串,可选)state:按状态筛选(字符串,可选)
- 必需的 OAuth 作用域:
-
merge_pull_request - 合并拉取请求
- 必需的 OAuth 作用域:
repo commit_message:合并提交的补充详情(字符串,可选)commit_title:合并提交的标题(字符串,可选)merge_method:合并方式(字符串,可选)owner:仓库所有者(字符串,必需)pullNumber:拉取请求编号(数字,必需)repo:仓库名称(字符串,必需)
- 必需的 OAuth 作用域:
-
pull_request_comment_write - 更新或删除拉取请求审查评论
- Required OAuth Scopes:
repo body:新的评论内容(update 方法必填)(字符串,可选)comment_id:要更新或删除的审查评论 ID。使用 get_review_comments 返回的 database_id。(数字,必填)method:要对审查评论执行的写入操作。 可选项:- 'update' - 更新现有审查评论。
- 'delete' - 删除现有审查评论。 (字符串,必填)
owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)
- Required OAuth Scopes:
-
pull_request_read - 获取单个拉取请求的详细信息
- Required OAuth Scopes:
repo after:分页游标,仅由 get_review_comments 方法使用。传入上一页 PageInfo 中的 endCursor,以获取下一页。(字符串,可选)method:指定要从 GitHub 获取哪种拉取请求数据的操作。 可选项:- get - 获取特定拉取请求的详细信息。
- get_diff - 获取拉取请求的差异。
- get_status - 获取拉取请求中头部提交的综合提交状态。
- get_files - 获取拉取请求中变更文件的列表。搭配分页参数使用,以控制返回结果数量。
- get_commits - 获取拉取请求中的提交列表。搭配分页参数使用,以控制返回结果数量。
- get_review_comments - 获取拉取请求中的审查讨论串。每个讨论串包含拉取请求审查期间在同一代码位置发表、按逻辑分组的审查评论。返回包含元数据(isResolved、isOutdated、isCollapsed)及相关评论的讨论串。使用基于游标的分页(perPage、after)控制结果。
- get_reviews - 获取拉取请求的审查记录。用户要求查看审查评论时,请使用 get_review_comments 方法。搭配分页参数使用,以控制返回结果数量。
- get_comments - 获取拉取请求的评论。如果用户没有特别要求查看审查评论,请使用此方法。搭配分页参数使用,以控制返回结果数量。
- get_check_runs - 获取拉取请求头部提交的检查运行记录。检查运行记录是针对 PR 运行的单个 CI/CD 作业和检查。 (字符串,必填)
owner:仓库所有者(字符串,必填)page:分页页码(最小值 1)(数字,可选)perPage:每页分页结果数(最小值 1,最大值 100)(数字,可选)pullNumber:拉取请求编号(数字,必填)repo:仓库名称(字符串,必填)
- Required OAuth Scopes:
-
pull_request_review_write - 对拉取请求审查执行写入操作(创建、提交、删除)
- Required OAuth Scopes:
repo body:审查评论文本(字符串,可选)commitID:要审查的提交 SHA(字符串,可选)event:要执行的审查操作。(字符串,可选)method:对拉取请求审查执行的写入操作。(字符串,必填)owner:仓库所有者(字符串,必填)pullNumber:拉取请求编号(数字,必填)repo:仓库名称(字符串,必填)threadId:审查讨论串的节点 ID(例如,PRRT_kwDOxxx)。resolve_thread 和 unresolve_thread 方法必填。通过 pull_request_read 的 get_review_comments 方法获取讨论串 ID。(字符串,可选)
- Required OAuth Scopes:
-
search_pull_requests - 搜索拉取请求
- 所需 OAuth 权限范围:
repo order:排序顺序(字符串,可选)owner:可选的仓库所有者。如果与 repo 一起提供,则仅列出此仓库的拉取请求。(字符串,可选)page:分页页码(最小值为 1)(数字,可选)perPage:每页结果数(最小值为 1,最大值为 100)(数字,可选)query:使用 GitHub 拉取请求搜索语法的搜索查询(字符串,必填)repo:可选的仓库名称。如果与 owner 一起提供,则仅列出此仓库的拉取请求。(字符串,可选)sort:排序字段,按各类别的匹配数排序,默认为最佳匹配(字符串,可选)
- 所需 OAuth 权限范围:
-
update_pull_request - 编辑拉取请求
- 所需 OAuth 权限范围:
repo base:新的基础分支名称(字符串,可选)body:新的描述(字符串,可选)draft:将拉取请求标记为草稿(true)或可供审查(false)(布尔值,可选)maintainer_can_modify:允许维护者编辑(布尔值,可选)owner:仓库所有者(字符串,必填)pullNumber:要更新的拉取请求编号(数字,必填)repo:仓库名称(字符串,必填)reviewers:要邀请其审查的 GitHub 用户名或 ORG/team-slug 团队审查者(字符串数组,可选)state:新状态(字符串,可选)title:新标题(字符串,可选)
- 所需 OAuth 权限范围:
-
update_pull_request_branch - 更新拉取请求分支
- 所需 OAuth 权限范围:
repo expectedHeadSha:拉取请求 HEAD 引用的预期 SHA(字符串,可选)owner:仓库所有者(字符串,必填)pullNumber:拉取请求编号(数字,必填)repo:仓库名称(字符串,必填)
- 所需 OAuth 权限范围:

仓库
-
create_branch - 创建分支
- 所需 OAuth 权限范围:
repo branch:新分支名称(字符串,必填)from_branch:源分支(默认为仓库默认分支)(字符串,可选)owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)
- 所需 OAuth 权限范围:
-
create_or_update_file - 创建或更新文件
- 所需 OAuth 权限范围:
repo branch:要在其中创建/更新文件的分支(字符串,必填)content:文件内容(字符串,必填)message:提交消息(字符串,必填)owner:仓库所有者(用户名或组织)(字符串,必填)path:创建/更新文件的路径(字符串,必填)repo:仓库名称(字符串,必填)sha:被替换文件的 blob SHA。文件已存在时必填。(字符串,可选)
- 所需 OAuth 权限范围:
-
create_repository - 创建仓库
- 所需 OAuth 权限范围:
repo autoInit:使用 README 初始化(布尔值,可选)description:仓库描述(字符串,可选)name:仓库名称(字符串,必填)organization:要在其中创建仓库的组织(省略时将在你的个人账户中创建)(字符串,可选)private:仓库是否应为私有。省略时默认为 true(私有)。(布尔值,可选)
- 所需 OAuth 权限范围:
-
delete_file - 删除文件
- 所需 OAuth 权限范围:
repo branch:要从中删除文件的分支(字符串,必填)message:提交消息(字符串,必填)owner:仓库所有者(用户名或组织)(字符串,必填)path:要删除的文件路径(字符串,必填)repo:仓库名称(字符串,必填)
- 所需 OAuth 权限范围:
-
get_commit - 获取提交详情
- 所需 OAuth 权限范围:
repo detail:更改文件的详细程度。"none"表示完全省略统计信息和文件。"stats"(默认值)包含每个文件的元数据:文件名、状态和代码行数(新增、删除、更改),但不包含补丁内容。"full_patch"还会包含每个文件的统一差异内容,可能会非常庞大。(字符串,可选)owner:仓库所有者(字符串,必填)page:分页页码(最小值 1)(数字,可选)perPage:每页结果数(最小值 1,最大值 100)(数字,可选)repo:仓库名称(字符串,必填)sha:提交 SHA、分支名称或标签名称(字符串,必填)
- 所需 OAuth 权限范围:
-
get_file_contents - 获取文件或目录内容
- 所需 OAuth 权限范围:
repo owner:仓库所有者(用户名或组织)(字符串,必填)path:文件/目录路径(字符串,可选)ref:可接受可选的 git 引用,例如refs/tags/{tag}、refs/heads/{branch}或refs/pull/{pr_number}/head(字符串,可选)repo:仓库名称(字符串,必填)sha:可接受可选的提交 SHA。若指定,将优先于 ref 使用(字符串,可选)
- 所需 OAuth 权限范围:
-
get_latest_release - 获取最新发布版本
- 所需 OAuth 权限范围:
repo owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)
- 所需 OAuth 权限范围:
-
get_release_by_tag - 按标签名称获取发布版本
- 所需 OAuth 权限范围:
repo owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)tag:标签名称(例如,'v1.0.0')(字符串,必填)
- 所需 OAuth 权限范围:
-
get_tag - 获取标签详情
- 所需 OAuth 权限范围:
repo owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)tag:标签名称(字符串,必填)
- 所需 OAuth 权限范围:
-
list_branches - 列出分支
- 所需 OAuth 权限范围:
repo owner:仓库所有者(字符串,必填)page:分页页码(最小值 1)(数字,可选)perPage:每页结果数(最小值 1,最大值 100)(数字,可选)repo:仓库名称(字符串,必填)
- 所需 OAuth 权限范围:
-
list_commits - 列出提交
- 所需 OAuth 权限范围:
repo author:用于筛选提交的作者用户名或电子邮件地址(字符串,可选)owner:仓库所有者(字符串,必填)page:分页页码(最小值 1)(数字,可选)path:仅返回包含此文件路径的提交(字符串,可选)perPage:每页结果数(最小值 1,最大值 100)(数字,可选)repo:仓库名称(字符串,必填)sha:要列出其提交记录的提交 SHA、分支或标签名称。若未提供,则使用仓库的默认分支。若提供提交 SHA,则列出截至该 SHA 的提交。(字符串,可选)since:仅返回此日期之后的提交(ISO 8601 格式:YYYY-MM-DDTHH:MM:SSZ 或 YYYY-MM-DD)(字符串,可选)until:仅返回此日期之前的提交(ISO 8601 格式:YYYY-MM-DDTHH:MM:SSZ 或 YYYY-MM-DD)(字符串,可选)
- 所需 OAuth 权限范围:
-
list_releases - 列出发布版本
- 所需 OAuth 权限范围:
repo owner:仓库所有者(字符串,必填)page:分页页码(最小值 1)(数字,可选)perPage:每页结果数(最小值 1,最大值 100)(数字,可选)repo:仓库名称(字符串,必填)
- 所需 OAuth 权限范围:
-
list_repository_collaborators - 列出仓库协作者
- Required OAuth Scopes:
repo affiliation:按关联类型筛选。可选值:'outside'(外部协作者)、'direct'(所有拥有权限的协作者,无论是否属于组织)、'all'(所有协作者)。默认值:'all'(字符串,可选)owner:仓库所有者(字符串,必填)page:分页页码(默认值为 1,最小值为 1)(数字,可选)perPage:每页结果数(默认值为 30,最小值为 1,最大值为 100)(数字,可选)repo:仓库名称(字符串,必填)
- Required OAuth Scopes:
-
list_tags - 列出标签
- Required OAuth Scopes:
repo owner:仓库所有者(字符串,必填)page:分页页码(最小值为 1)(数字,可选)perPage:每页结果数(最小值为 1,最大值为 100)(数字,可选)repo:仓库名称(字符串,必填)
- Required OAuth Scopes:
-
push_files - 将文件推送到仓库
- Required OAuth Scopes:
repo branch:要推送到的分支(字符串,必填)files:要推送的文件对象数组,每个对象包含 path(字符串)和 content(字符串)(对象数组,必填)message:提交消息(字符串,必填)owner:仓库所有者(字符串,必填)repo:仓库名称(字符串,必填)
- Required OAuth Scopes:
-
search_code - 搜索代码
- Required OAuth Scopes:
repo order:结果排序顺序(字符串,可选)page:分页页码(最小值为 1)(数字,可选)perPage:每页结果数(最小值为 1,最大值为 100)(数字,可选)query:搜索查询(GitHub 代码搜索 REST)。词项之间隐式使用 AND;支持OR、NOT和用于精确匹配的"quoted phrase"。限定符:repo:owner/repo、org:、user:、language:、path:dir(前缀匹配)、filename:exact.ext、extension:、in:file、in:path、size:、is:archived、is:fork。最多 256 个字符。示例:WithContext language:go org:github;"package main" repo:o/r;func extension:go path:cmd repo:o/r;NOT TODO language:go repo:o/r。(字符串,必填)sort:排序字段(仅限 'indexed')(字符串,可选)
- Required OAuth Scopes:
-
search_commits - 搜索提交
- Required OAuth Scopes:
repo order:排序顺序(字符串,可选)page:分页页码(最小值为 1)(数字,可选)perPage:每页结果数(最小值为 1,最大值为 100)(数字,可选)query:提交搜索查询(GitHub 提交搜索 REST)。仅搜索默认分支上的提交消息。使用repo:owner/repo、org:或user:限定搜索范围(不带范围限定符的查询会匹配整个 GitHub,通常不是你想要的结果)。其他限定符:author:、committer:、author-name:、committer-name:、author-email:、committer-email:、author-date:、committer-date:(支持>、<、>=、<=和YYYY-MM-DD..YYYY-MM-DD范围)、merge:true|false、hash:、tree:、parent:、is:public。示例:repo:owner/repo fix panic;org:github author:defunkt committer-date:>=2024-01-01;"refactor cache" repo:o/r;hash:abc1234 repo:o/r。(字符串,必填)sort:按作者或提交者日期排序(默认按最佳匹配排序)(字符串,可选)
- Required OAuth Scopes:
-
search_repositories - 搜索仓库
- Required OAuth Scopes:
repo minimal_output:返回最精简的仓库信息(默认值:true)。设为 false 时,返回完整的 GitHub API 仓库对象。(布尔值,可选)order:排序顺序(字符串,可选)page:分页页码(最小值为 1)(数字,可选)perPage:每页结果数(最小值为 1,最大值为 100)(数字,可选)query:仓库搜索查询。示例:'machine learning in:name stars:>1000 language:python'、'topic:react'、'user:facebook'。支持高级搜索语法,以便精确筛选。(字符串,必填)sort:按字段对仓库排序,默认按最佳匹配排序(字符串,可选)
- Required OAuth Scopes:

密钥保护
-
get_secret_scanning_alert - 获取密钥扫描警报
- 必需的 OAuth 作用域:
security_events - 接受的 OAuth 作用域:
repo、security_events alertNumber:警报编号。(number,必需)owner:仓库所有者。(string,必需)repo:仓库名称。(string,必需)
- 必需的 OAuth 作用域:
-
list_secret_scanning_alerts - 列出密钥扫描警报
- 必需的 OAuth 作用域:
security_events - 接受的 OAuth 作用域:
repo、security_events owner:仓库所有者。(string,必需)page:分页页码(最小值为 1)(number,可选)perPage:每页结果数(最小值为 1,最大值为 100)(number,可选)repo:仓库名称。(string,必需)resolution:按解决方式筛选(string,可选)secret_type:以逗号分隔的要返回的密钥类型列表。默认返回所有默认密钥模式。要返回通用模式,请在此参数中传入令牌名称。(string,可选)state:按状态筛选(string,可选)
- 必需的 OAuth 作用域:

安全公告
-
get_global_security_advisory - 获取全局安全公告
- 必需的 OAuth 作用域:
security_events - 接受的 OAuth 作用域:
repo、security_events ghsaId:GitHub 安全公告 ID(格式:GHSA-xxxx-xxxx-xxxx)。(string,必需)
- 必需的 OAuth 作用域:
-
list_global_security_advisories - 列出全局安全公告
- 必需的 OAuth 作用域:
security_events - 接受的 OAuth 作用域:
repo、security_events affects:按受影响的软件包或版本筛选公告(例如 "package1,[email protected]")。(string,可选)cveId:按 CVE ID 筛选。(string,可选)cwes:按通用弱点枚举 ID 筛选(例如 ["79", "284", "22"])。(string[],可选)ecosystem:按软件包生态系统筛选。(string,可选)ghsaId:按 GitHub 安全公告 ID 筛选(格式:GHSA-xxxx-xxxx-xxxx)。(string,可选)isWithdrawn:是否仅返回已撤回的公告。(boolean,可选)modified:按发布日期、更新日期或日期范围筛选(ISO 8601 日期或范围)。(string,可选)published:按发布日期或日期范围筛选(ISO 8601 日期或范围)。(string,可选)severity:按严重程度筛选。(string,可选)type:公告类型。(string,可选)updated:按更新日期或日期范围筛选(ISO 8601 日期或范围)。(string,可选)
- 必需的 OAuth 作用域:
-
list_org_repository_security_advisories - 列出组织仓库的安全公告
- 必需的 OAuth 作用域:
security_events - 接受的 OAuth 作用域:
repo、security_events direction:排序方向。(string,可选)org:组织登录名。(string,必需)sort:排序字段。(string,可选)state:按公告状态筛选。(string,可选)
- 必需的 OAuth 作用域:

获得星标的用户
-
list_starred_repositories - 列出已加星标的仓库
- Required OAuth Scopes:
repo direction:结果的排序方向。(string,可选)page:分页页码(最小值为 1)(number,可选)perPage:每页结果数(最小值为 1,最大值为 100)(number,可选)sort:结果的排序方式。可以是 'created'(仓库获得星标的时间)或 'updated'(仓库上次推送的时间)。(string,可选)username:要列出其已加星标仓库的用户名。默认为已通过身份验证的用户。(string,可选)
- Required OAuth Scopes:
-
star_repository - 为仓库加星标
- Required OAuth Scopes:
repo owner:仓库所有者(string,必填)repo:仓库名称(string,必填)
- Required OAuth Scopes:
-
unstar_repository - 取消仓库星标
- Required OAuth Scopes:
repo owner:仓库所有者(string,必填)repo:仓库名称(string,必填)
- Required OAuth Scopes:

用户
- search_users - 搜索用户
- Required OAuth Scopes:
repo order:排序顺序(string,可选)page:分页页码(最小值为 1)(number,可选)perPage:每页结果数(最小值为 1,最大值为 100)(number,可选)query:用户搜索查询。示例:'john smith'、'location:seattle'、'followers:>100'。搜索范围会自动限定为 type:user。(string,必填)sort:按关注者数量、仓库数量或用户加入 GitHub 的时间排序。(string,可选)
- Required OAuth Scopes:
Copilot
- create_pull_request_with_copilot - 使用 GitHub Copilot 编码 Agent 执行任务
owner:仓库所有者。你可以猜测所有者,但在继续操作前请向用户确认。(字符串,必填)repo:仓库名称。你可以猜测仓库名称,但在继续操作前请向用户确认。(字符串,必填)problem_statement:要执行任务的详细描述(例如,“实现一项可执行 X 的功能”、“修复错误 Y”等)。(字符串,必填)title:要创建的拉取请求标题(字符串,必填)base_ref:Agent 开始工作的 Git 引用(例如分支)。如果未指定,则默认为仓库的默认分支(字符串,可选)
Copilot Spaces
-
身份验证说明
- 细粒度 PAT 不会受到经典 PAT 作用域筛选的隐藏,因此即使令牌无法使用这些工具,它们仍可能会显示。
- 对于组织拥有的空间,细粒度 PAT 必须安装在所属组织中,并包含
organization_copilot_spaces: read。 - 如果组织拥有的空间包含由仓库提供支持的资源,令牌还必须有权访问所有被引用的仓库,否则该空间可能会被视为不存在。
-
get_copilot_space - 获取 Copilot Space
owner:空间的所有者。(字符串,必填)name:空间名称。(字符串,必填)
-
list_copilot_spaces - 列出 Copilot Spaces
GitHub 支持文档搜索
- github_support_docs_search - 检索相关文档,以回答 GitHub 产品和支持相关问题。支持主题包括:GitHub Actions 工作流、身份验证、GitHub 支持咨询、拉取请求实践、仓库维护、GitHub Pages、GitHub Packages、GitHub Discussions、Copilot Spaces
query:用户关于所需答案的问题输入。这是用户最新的原始未编辑消息。你应始终保持用户消息原样,不应对其进行任何修改。(字符串,必填)
只读模式
要以只读模式运行服务,可以使用 --read-only 标志。此模式仅提供只读工具,防止对仓库、问题、拉取请求等进行任何修改。
./omnigit-mcp --read-only
使用 Docker 时,可以通过环境变量传递只读模式:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_READ_ONLY=1 \
ghcr.io/aifity/omnigit-mcp
锁定模式
锁定模式会限制服务从公开仓库中提供的内容。启用后,服务会检查每个项目的作者是否拥有仓库的推送权限。私有仓库不受影响,协作者仍可完全访问自己的内容。
./omnigit-mcp --lockdown-mode
使用 Docker 运行时,请设置相应的环境变量:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_LOCKDOWN_MODE=1 \
ghcr.io/aifity/omnigit-mcp
锁定模式的行为取决于所调用的工具。
作者没有推送权限时,以下工具会返回错误:
issue_read:getpull_request_read:get
以下工具会筛除没有推送权限的用户所提供的内容:
issue_read:get_commentsissue_read:get_sub_issuespull_request_read:get_commentspull_request_read:get_review_commentspull_request_read:get_reviews
i18n / 覆盖描述
可在二进制文件所在目录中创建
omnigit-mcp-config.json 文件,以覆盖工具的描述。
该文件应包含一个 JSON 对象,以工具名称为键、新描述为值。例如:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
"TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}
运行二进制文件并传入 --export-translations 标志,即可导出当前翻译。
此标志会保留你所做的任何翻译/覆盖,同时添加自上次导出后新增到二进制文件中的翻译。
./omnigit-mcp --export-translations
cat omnigit-mcp-config.json
你也可以使用环境变量覆盖描述。环境变量名称与 JSON 文件中的键相同,前缀为
GITHUB_MCP_,且全部大写。
例如,要覆盖 TOOL_ADD_ISSUE_COMMENT_DESCRIPTION 工具的描述,可以设置以下环境变量:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
覆盖服务名称和标题
同样的覆盖机制也可用于自定义初始化响应中的 MCP 服务 name 和
title 字段。运行多个 GitHub MCP Server 实例时(例如,一个用于 github.com,另一个用于
GitHub Enterprise Server),这很有用,可让 Agent 区分不同实例。
| 键 | 环境变量 | 默认值 |
|---|---|---|
SERVER_NAME | GITHUB_MCP_SERVER_NAME | omnigit-mcp |
SERVER_TITLE | GITHUB_MCP_SERVER_TITLE | GitHub MCP Server |
例如,配置一个用于 GitHub Enterprise Server 的服务实例:
{
"SERVER_NAME": "ghes-mcp-server",
"SERVER_TITLE": "GHES MCP Server"
}
或者使用环境变量:
export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"
库的使用
目前,应将此模块导出的 Go API 视为不稳定,且可能发生破坏性变更。未来我们或许会提供稳定性保障;如果你有认为这很有价值的使用场景,请提交 issue。
贡献
欢迎贡献。在提交拉取请求之前,请阅读贡献指南,了解环境设置、测试、代码检查和文档生成说明。
支持
如需了解如何使用 GitHub MCP Server,请参阅支持指南。如果你发现了错误或想请求新功能,请先搜索现有 issue,再创建新 issue。
安全
请勿通过公开 issue 报告安全漏洞。请按照安全政策中的说明,负责任地报告漏洞。
许可证
本项目依据 MIT 开源许可证的条款授权。完整条款请参阅 MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。