GitHub MCP Server

GitHub MCP Server

site icon
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上的代码和问题

工具列表

  1. create_or_update_file: 创建或更新仓库中的单个文件
  2. push_files: 在单个提交中推送多个文件
  3. search_repositories: 搜索GitHub仓库
  4. create_repository: 创建新的GitHub仓库
  5. get_file_contents: 获取文件或目录的内容
  6. create_issue: 创建新问题
  7. create_pull_request: 创建新的拉取请求
  8. fork_repository: 分叉仓库
  9. create_branch: 创建新分支
  10. list_issues: 列出和过滤仓库问题
  11. update_issue: 更新现有问题
  12. add_issue_comment: 向问题添加评论
  13. search_code: 在GitHub仓库中搜索代码
  14. search_issues: 搜索问题和拉取请求
  15. search_users: 搜索GitHub用户
  16. list_commits: 获取仓库分支的提交
  17. get_issue: 获取仓库中问题的内容
  18. get_pull_request: 获取特定拉取请求的详细信息
  19. list_pull_requests: 列出和过滤仓库拉取请求
  20. create_pull_request_review: 在拉取请求上创建评论
  21. merge_pull_request: 合并拉取请求
  22. get_pull_request_files: 获取拉取请求中更改的文件列表
  23. get_pull_request_status: 获取拉取请求的所有状态检查的合并状态
  24. update_pull_request_branch: 使用基础分支的最新更改更新拉取请求分支
  25. get_pull_request_comments: 获取拉取请求上的评论
  26. get_pull_request_reviews: 获取拉取请求上的评论

常见问题解答

  • 搜索语法: 提供了详细的代码、问题和用户搜索语法
  • 权限问题: 需要创建GitHub个人访问令牌并设置适当的权限

使用教程

使用依赖

  1. 创建GitHub个人访问令牌
  2. 访问Personal access tokens
  3. 选择仓库访问权限(Public, All, 或 Select)
  4. 创建具有repo范围的令牌("Full control of private repositories")
  5. 如果仅使用公共仓库,可选择public_repo范围
  6. 复制生成的令牌

安装教程

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>"
      }
    }
  }
}

调试方式

  1. 构建Docker镜像
docker build -t mcp/github -f src/github/Dockerfile .
  1. 运行服务并检查日志输出
  2. 使用提供的工具进行测试操作

许可证

该项目遵循 MIT 开源许可条款。