@ 社区模板
通过 MCP 协议提供 Github 服务调用,支持代码评审,文件操作、仓库管理、搜索功能等。
以下是整理后的 Github 服务 MCP 接入功能清单:
工具标识 | 功能描述 | 核心参数 |
---|---|---|
create_or_update_file | 在仓库中创建或更新单个文件 | owner , repo , path , content , message , branch , sha |
push_files | 在单次提交中推送多个文件 | owner , repo , branch , files , message |
search_repositories | 搜索 GitHub 仓库 | query , page , perPage |
create_repository | 创建新 GitHub 仓库 | name , description , private , autoInit |
get_file_contents | 获取文件或目录内容 | owner , repo , path , branch |
create_issue | 创建新 issue | owner , repo , title , body , assignees , labels , milestone |
create_pull_request | 创建新 PR | owner , repo , title , body , head , base , draft , maintainer_can_modify |
fork_repository | Fork 仓库 | owner , repo , organization |
create_branch | 创建新分支 | owner , repo , branch , from_branch |
list_issues | 列出和筛选仓库 issues | owner , repo , state , labels , sort , direction , since , page , per_page |
update_issue | 更新现有 issue | owner , repo , issue_number , title , body , state , labels , assignees , milestone |
add_issue_comment | 添加 issue 评论 | owner , repo , issue_number , body |
search_code | 跨仓库搜索代码 | q , sort , order , per_page , page |
search_issues | 搜索 issues 和 PR | q , sort , order , per_page , page |
search_users | 搜索 GitHub 用户 | q , sort , order , per_page , page |
list_commits | 获取仓库分支的提交记录 | owner , repo , page , per_page , sha |
get_issue | 获取仓库中某个 issue 的内容 | owner , repo , issue_number |
get_pull_request | 获取特定 PR 的详情 | owner , repo , pull_number |
list_pull_requests | 列出和筛选仓库 PR | owner , repo , state , head , base , sort , direction , per_page , page |
create_pull_request_review | 创建 PR 审查 | owner , repo , pull_number , body , event , commit_id , comments |
merge_pull_request | 合并 PR | owner , repo , pull_number , commit_title , commit_message , merge_method |
get_pull_request_files | 获取 PR 中更改的文件列表 | owner , repo , pull_number |
get_pull_request_status | 获取 PR 所有状态检查的合并状态 | owner , repo , pull_number |
update_pull_request_branch | 更新 PR 分支 | owner , repo , pull_number , expected_head_sha |
get_pull_request_comments | 获取 PR 的审查评论 | owner , repo , pull_number |
get_pull_request_reviews | 获取 PR 的审查记录 | owner , repo , pull_number |
https://github.com/modelcontextprotocol/servers/tree/main/src/github
在仓库中创建或更新单个文件
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者(用户名或组织) |
repo | string | 仓库名称 |
path | string | 文件创建/更新的路径 |
content | string | 文件内容 |
message | string | 提交信息 |
branch | string | 操作的目标分支 |
sha | optional string | 被替换文件的SHA(用于更新) |
返回: 文件内容和提交详情
在单次提交中推送多个文件
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
branch | string | 推送目标分支 |
files | array | 要推送的文件数组(每个包含路径和内容) |
message | string | 提交信息 |
返回: 更新后的分支引用
搜索GitHub仓库
输入参数 | Type | 描述 |
---|---|---|
query | string | 搜索关键词 |
page | optional number | 分页页码 |
perPage | optional number | 每页结果数(最大100) |
返回: 仓库搜索结果
创建新GitHub仓库
输入参数 | Type | 描述 |
---|---|---|
name | string | 仓库名称 |
description | optional string | 仓库描述 |
private | optional boolean | 是否私有仓库 |
autoInit | optional boolean | 是否初始化README |
返回: 创建的仓库详情
获取文件或目录内容
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
path | string | 文件/目录路径 |
branch | optional string | 获取内容的分支 |
返回: 文件/目录内容
创建新issue
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
title | string | issue标题 |
body | optional string | issue描述 |
assignees | optional string[] | 分配的用户名 |
labels | optional string[] | 添加的标签 |
milestone | optional number | 里程碑编号 |
返回: 创建的issue详情
创建新PR
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
title | string | PR标题 |
body | optional string | PR描述 |
head | string | 包含更改的分支 |
base | string | 要合并到的目标分支 |
draft | optional boolean | 是否创建为草稿PR |
maintainer_can_modify | optional boolean | 是否允许维护者修改 |
返回: 创建的PR详情
Fork仓库
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
organization | optional string | Fork到的组织 |
返回: Fork后的仓库详情
创建新分支
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
branch | string | 新分支名称 |
from_branch | optional string | 源分支(默认为仓库默认分支) |
返回: 创建的分支引用
列出和筛选仓库issues
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
state | optional string | 状态筛选('open', 'closed', 'all') |
labels | optional string[] | 标签筛选 |
sort | optional string | 排序方式('created', 'updated', 'comments') |
direction | optional string | 排序方向('asc', 'desc') |
since | optional string | 日期筛选(ISO 8601时间戳) |
page | optional number | 页码 |
per_page | optional number | 每页结果数 |
返回: issue详情数组
更新现有issue
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
issue_number | number | 要更新的issue编号 |
title | optional string | 新标题 |
body | optional string | 新描述 |
state | optional string | 新状态('open'或'closed') |
labels | optional string[] | 新标签 |
assignees | optional string[] | 新分配者 |
milestone | optional number | 新里程碑编号 |
返回: 更新后的issue详情
添加issue评论
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
issue_number | number | 要评论的issue编号 |
body | string | 评论内容 |
返回: 创建的评论详情
跨仓库搜索代码
输入参数 | Type | 描述 |
---|---|---|
q | string | 使用GitHub代码搜索语法的搜索词 |
sort | optional string | 排序字段(仅'indexed') |
order | optional string | 排序方向('asc'或'desc') |
per_page | optional number | 每页结果数(最大100) |
page | optional number | 页码 |
返回: 带仓库上下文的代码搜索结果
搜索issues和PR
输入参数 | Type | 描述 |
---|---|---|
q | string | 使用GitHub issues搜索语法的搜索词 |
sort | optional string | 排序字段(comments, reactions, created等) |
order | optional string | 排序方向('asc'或'desc') |
per_page | optional number | 每页结果数(最大100) |
page | optional number | 页码 |
返回: issues和PR搜索结果
搜索GitHub用户
输入参数 | Type | 描述 |
---|---|---|
q | string | 使用GitHub用户搜索语法的搜索词 |
sort | optional string | 排序字段(followers, repositories, joined) |
order | optional string | 排序方向('asc'或'desc') |
per_page | optional number | 每页结果数(最大100) |
page | optional number | 页码 |
返回: 用户搜索结果
获取仓库分支的提交记录
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
page | optional string | 页码 |
per_page | optional string | 每页记录数 |
sha | optional string | 分支名称 |
返回: 提交记录列表
获取仓库中某个issue的内容
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
issue_number | number | 要获取的issue编号 |
返回: GitHub Issue对象及详情
获取特定PR的详情
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
pull_number | number | PR编号 |
返回: 包含diff和审查状态的PR详情
列出和筛选仓库PR
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
state | optional string | 状态筛选('open', 'closed', 'all') |
head | optional string | 按head用户/组织和分支筛选 |
base | optional string | 按base分支筛选 |
sort | optional string | 排序方式('created', 'updated', 'popularity', 'long-running') |
direction | optional string | 排序方向('asc', 'desc') |
per_page | optional number | 每页结果数(最大100) |
page | optional number | 页码 |
返回: PR详情数组
创建PR审查
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
pull_number | number | PR编号 |
body | string | 审查评论文本 |
event | string | 审查动作('APPROVE', 'REQUEST_CHANGES', 'COMMENT') |
commit_id | optional string | 要审查的提交SHA |
comments | optional array | 行级评论数组(每个包含: path: 文件路径 position: diff中的行位置 body: 评论文本) |
返回: 创建的审查详情
合并PR
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
pull_number | number | PR编号 |
commit_title | optional string | 合并提交的标题 |
commit_message | optional string | 合并提交的额外详情 |
merge_method | optional string | 合并方式('merge', 'squash', 'rebase') |
返回: 合并结果详情
获取PR中更改的文件列表
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
pull_number | number | PR编号 |
返回: 包含patch和状态详情的更改文件数组
获取PR所有状态检查的合并状态
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
pull_number | number | PR编号 |
返回: 合并的状态检查结果和单个检查详情
用base分支的最新更改更新PR分支(相当于GitHub的"Update branch"按钮)
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
pull_number | number | PR编号 |
expected_head_sha | optional string | PR的HEAD引用的预期SHA |
返回: 分支更新成功时的成功消息
获取PR的审查评论
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
pull_number | number | PR编号 |
返回: 包含评论文本、作者和diff位置等详情的PR审查评论数组
获取PR的审查记录
输入参数 | Type | 描述 |
---|---|---|
owner | string | 仓库所有者 |
repo | string | 仓库名称 |
pull_number | number | PR编号 |
返回: 包含审查状态(APPROVED, CHANGES_REQUESTED等)、审查者和审查正文等详情的PR审查数组
language:javascript
: 按编程语言搜索repo:owner/name
: 在特定仓库中搜索path:app/src
: 在特定路径中搜索extension:js
: 按文件扩展名搜索示例: q: "import express" language:typescript path:src/
is:issue
或 is:pr
: 按类型筛选is:open
或 is:closed
: 按状态筛选label:bug
: 按标签搜索author:username
: 按作者搜索示例: q: "内存泄漏" is:issue is:open label:bug
type:user
或 type:org
: 按账户类型筛选followers:>1000
: 按关注者数量筛选location:London
: 按位置搜索示例: q: "全栈开发" location:北京 followers:>100