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 .