
GitHub MCP Server

2025.03.21
0
TypeScriptGitHub API仓库管理文件操作搜索功能开发效率
GitHub MCP Server 是一个为GitHub API设计的服务,提供文件操作、仓库管理、搜索功能等。它支持自动分支创建、全面的错误处理、Git历史保留、批量操作和高级搜索等功能。适用于开发团队和项目管理者,用于自动化GitHub仓库的管理和操作。
View on GitHub
Overview
基本能力
产品定位
GitHub MCP Server 是一个为GitHub API设计的服务,提供文件操作、仓库管理、搜索功能等。
核心功能
- Automatic Branch Creation: 当创建/更新文件或推送更改时,如果分支不存在,会自动创建分支
- Comprehensive Error Handling: 为常见问题提供清晰的错误消息
- Git History Preservation: 操作保持正确的Git历史记录,无需强制推送
- Batch Operations: 支持单文件和多文件操作
- Advanced Search: 支持搜索代码、问题/PR和用户
适用场景
- 开发团队自动化GitHub仓库的管理和操作
- 项目管理者批量处理仓库文件和问题
- 开发者快速搜索和获取GitHub上的代码和问题
工具列表
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个人访问令牌并设置适当的权限
使用教程
使用依赖
- 创建GitHub个人访问令牌
- 访问Personal access tokens
- 选择仓库访问权限(Public, All, 或 Select)
- 创建具有
repo
范围的令牌("Full control of private repositories") - 如果仅使用公共仓库,可选择
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>"
}
}
}
}
调试方式
- 构建Docker镜像
docker build -t mcp/github -f src/github/Dockerfile .
- 运行服务并检查日志输出
- 使用提供的工具进行测试操作