
GitHub MCP Server

2025.04.21
0
TypeScriptGitHub API 服务仓库管理文件操作搜索功能团队协作开发效率交流协作
GitHub MCP Server 是一个基于 TypeScript 的 GitHub API 服务,提供了丰富的文件操作、仓库管理、搜索功能等。该服务不是官方的 GitHub MCP 服务器,而是在官方服务器基础上进行了功能扩展和改进。
View on GitHub
Overview
基本能力
产品定位
GitHub MCP Server 是一个用于与 GitHub API 交互的服务,旨在简化 GitHub 仓库管理、文件操作、搜索功能等。
核心功能
- 自动分支创建:在创建/更新文件或推送更改时,自动创建不存在的分支
- 全面的错误处理:提供清晰的错误消息
- Git 历史保留:操作保持正确的 Git 历史记录,无需强制推送
- 批量操作:支持单文件和多文件操作
- 高级搜索:支持搜索代码、问题/PR 和用户
适用场景
- 自动化 GitHub 仓库管理
- 批量处理文件操作
- 高级代码和问题搜索
- 团队协作开发
工具列表
create_or_update_file
:创建或更新单个文件push_files
:推送多个文件search_repositories
:搜索 GitHub 仓库create_repository
:创建新仓库get_file_contents
:获取文件/目录内容create_issue
:创建问题create_pull_request
:创建拉取请求fork_repository
:分叉仓库create_branch
:创建分支list_issues
:列出和过滤问题update_issue
:更新问题add_issue_comment
:添加问题评论search_code
:搜索代码search_issues
:搜索问题和 PRsearch_users
:搜索用户list_commits
:获取提交列表get_issue
:获取问题内容get_pull_request
:获取 PR 详情list_pull_requests
:列出和过滤 PRcreate_pull_request_review
:创建 PR 审查merge_pull_request
:合并 PRget_pull_request_files
:获取 PR 更改的文件get_pull_request_status
:获取 PR 状态update_pull_request_branch
:更新 PR 分支get_pull_request_comments
:获取 PR 评论get_pull_request_reviews
:获取 PR 审查list_sub_issues
:列出子问题reprioritize_sub_issue
:重新排序子问题remove_sub_issue
:移除子问题add_sub_issue
:添加子问题list_labels_for_issue
:列出问题标签add_labels_to_issue
:添加标签到问题set_labels_for_issue
:设置问题标签remove_label_from_issue
:移除问题标签remove_all_labels_from_issue
:移除所有问题标签list_labels_for_repo
:列出仓库标签create_label
:创建标签get_label
:获取标签update_label
:更新标签delete_label
:删除标签list_labels_for_milestone
:列出里程碑标签list_milestones
:列出里程碑create_milestone
:创建里程碑get_milestone
:获取里程碑update_milestone
:更新里程碑delete_milestone
:删除里程碑
常见问题解答
- 需要创建 GitHub 个人访问令牌才能使用该服务
- 确保令牌具有足够的权限(repo 或 public_repo 范围)
- 使用 Docker 或 NPX 方式运行服务
使用教程
使用依赖
- 创建 GitHub 个人访问令牌:
- 访问 Personal access tokens
- 选择适当的仓库访问权限
- 创建具有
repo
或public_repo
范围的令牌
安装教程
Docker 方式
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
NPX 方式
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
调试方式
- 确保环境变量
GITHUB_PERSONAL_ACCESS_TOKEN
已正确设置 - 检查服务是否正常运行
- 使用工具列表中的功能进行测试,如
search_repositories
或get_file_contents
- 查看错误消息以排查问题
构建
docker build -t mcp/github -f src/github/Dockerfile .