GitHub MCP Server

GitHub MCP Server

site icon
2025.03.20 1
TypeScript代码管理版本控制协作开发开发效率交流协作
GitHub MCP Server 是一个针对GitHub API的中间件服务,提供文件操作、仓库管理、搜索功能等核心能力。它通过动态PAT(Personal Access Token)管理和完善的错误处理机制,简化了与GitHub的交互流程。
View on GitHub

Overview

产品定位

GitHub MCP Server 是一个专门为GitHub API设计的中间件服务,旨在简化与GitHub平台的交互流程,提供更高效的仓库管理和代码协作能力。

核心功能

  • 自动化分支管理:在文件创建/更新时自动处理分支创建
  • 完善的错误处理:提供清晰的错误提示信息
  • Git历史保护:所有操作都遵循Git规范,避免强制推送
  • 批量操作支持:支持单文件和批量文件操作
  • 高级搜索功能:支持代码、Issue/PR和用户的搜索

适用场景

  1. 自动化代码仓库管理
  2. 持续集成/持续部署(CI/CD)流程集成
  3. 团队协作开发管理
  4. 代码搜索和分析
  5. 开源项目维护

工具列表

  1. create_or_update_file - 创建或更新单个文件
  2. push_files - 批量推送多个文件
  3. search_repositories - 仓库搜索
  4. create_repository - 创建新仓库
  5. get_file_contents - 获取文件/目录内容
  6. create_issue - 创建Issue
  7. create_pull_request - 创建PR
  8. fork_repository - Fork仓库
  9. create_branch - 创建分支
  10. list_issues - 列出Issue
  11. update_issue - 更新Issue
  12. add_issue_comment - 添加Issue评论
  13. search_code - 代码搜索
  14. search_issues - Issue/PR搜索
  15. search_users - 用户搜索
  16. list_commits - 获取提交记录
  17. get_issue - 获取Issue详情
  18. get_pull_request - 获取PR详情
  19. list_pull_requests - 列出PR
  20. create_pull_request_review - 创建PR评审
  21. merge_pull_request - 合并PR
  22. get_pull_request_files - 获取PR变更文件
  23. get_pull_request_status - 获取PR状态
  24. update_pull_request_branch - 更新PR分支
  25. get_pull_request_comments - 获取PR评论
  26. get_pull_request_reviews - 获取PR评审

使用教程

前置依赖

  1. 创建GitHub Personal Access Token:
  2. 访问 https://github.com/settings/tokens
  3. 选择仓库访问权限(Public/All/Select)
  4. 创建包含repopublic_repo权限的Token

安装方式

Docker方式

docker build -t mcp/github -f src/github/Dockerfile .

配置示例(claude_desktop_config.json):

{
  "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. 验证Token权限是否正确
  2. 使用基础API测试连接性,如search_repositories
  3. 检查错误日志获取详细错误信息

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。