基本能力
产品定位
GitHub MCP Server 是一个为GitHub API设计的MCP服务器,提供文件操作、仓库管理、搜索功能等。
核心功能
- Automatic Branch Creation: 当创建/更新文件或推送更改时,如果分支不存在,会自动创建分支
- Comprehensive Error Handling: 提供清晰的错误信息
- Git History Preservation: 操作保持正确的Git历史,无需强制推送
- Batch Operations: 支持单文件和多文件操作
- Advanced Search: 支持搜索代码、问题/PR和用户
适用场景
- 开发团队进行代码管理
- 协作开发和自动化流程
- 代码搜索和问题管理
工具列表
create_or_update_file
: 创建或更新仓库中的单个文件push_files
: 在单个提交中推送多个文件search_repositories
: 搜索GitHub仓库create_repository
: 创建新的GitHub仓库get_file_contents
: 获取文件或目录内容create_issue
: 创建新问题create_pull_request
: 创建新拉取请求fork_repository
: 分叉仓库create_branch
: 创建新分支list_issues
: 列出和过滤仓库问题update_issue
: 更新现有问题add_issue_comment
: 向问题添加评论search_code
: 在GitHub仓库中搜索代码search_issues
: 搜索问题和拉取请求search_users
: 搜索GitHub用户list_commits
: 获取仓库分支的提交get_issue
: 获取仓库中问题的内容get_pull_request
: 获取特定拉取请求的详细信息list_pull_requests
: 列出和过滤仓库拉取请求create_pull_request_review
: 在拉取请求上创建评论merge_pull_request
: 合并拉取请求get_pull_request_files
: 获取拉取请求中更改的文件列表get_pull_request_status
: 获取拉取请求的所有状态检查的合并状态update_pull_request_branch
: 使用基础分支的最新更改更新拉取请求分支get_pull_request_comments
: 获取拉取请求上的评论get_pull_request_reviews
: 获取拉取请求上的评论
常见问题解答
- 如何创建GitHub个人访问令牌?
- 前往Personal access tokens(在GitHub设置 > 开发者设置中)
- 选择您希望此令牌访问的仓库(公共、全部或选择)
- 创建具有
repo
范围("私有仓库的完全控制")的令牌 - 复制生成的令牌
使用教程
使用依赖
需要创建GitHub个人访问令牌,具体步骤见常见问题解答。
安装教程
Docker
json
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
NPX
json
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
调试方式
Docker构建:
bash
docker build -t mcp/github -f src/github/Dockerfile .