mcp-server-github

mcp-server-github

官方早期 GitHub 参考服务器,现已归档,由 GitHub 官方实现接替。

核心功能

这是 MCP 官方早期的 GitHub 参考服务器,如今已整体迁入归档仓库,明确标注不再维护、不提供安全更新与缺陷修复,使用风险自负。其开发工作已由 GitHub 官方接手,落在 github/github-mcp-server 仓库,新项目应直接选用官方实现,本页仅作历史存档参考。

功能亮点

归档状态

README 顶部保留弃用通知,指明开发已转移,仓库不再接受新的贡献与议题。

工具颗粒度细

历史版本一次暴露二十余个接口,覆盖文件、议题、拉取请求与搜索四大类。

令牌鉴权

通过环境变量传入个人访问令牌,权限范围完全取决于该令牌本身的授权。

迁移建议

新接入建议改用 GitHub 自家维护的服务器,本实现仅适合复现旧有配置。

适用场景

• 复现依赖旧版配置的历史项目
• 研究早期 MCP 工具设计方式
• 作为自研 GitHub 服务器的代码模板
• 对照官方新实现做能力差异分析

安装配置

bash
# 注意:该实现已归档,仅用于复现历史配置;新接入请使用 github/github-mcp-server

# NPX(claude_desktop_config.json)
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

# Docker
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "mcp/github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

使用方法

bash
文件与仓库类工具:create_or_update_file、push_files、get_file_contents、search_repositories、create_repository、fork_repository、create_branch、list_commits
议题类工具:create_issue、get_issue、list_issues、update_issue、add_issue_comment
PR 类工具:create_pull_request、get_pull_request、list_pull_requests、create_pull_request_review、merge_pull_request、update_pull_request_branch、get_pull_request_files、get_pull_request_status、get_pull_request_comments、get_pull_request_reviews
搜索类工具:search_code、search_issues、search_users

示例流程:search_repositories 找到目标仓库 → get_file_contents 读取文件 → create_branch 建分支 → push_files 批量提交 → create_pull_request 发起 PR → create_pull_request_review 提交评审意见。

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标mcp-server-github
价格免费
开源
上手难度入门

相关工具

优点

  • 工具划分很细,PR 评审、合并、分支管理各有独立接口
  • 接入只需一个个人访问令牌,不必自建中间服务
  • MIT 许可,代码可直接分叉改造成自维护版本
  • npx 与 Docker 两种形态在归档前均已提供

缺点

  • 仓库已归档,官方声明不再维护、不提供安全更新,使用风险自负
  • README 顶部已注明开发迁移至 github/github-mcp-server,继续使用会与主线脱节
  • npm 包停留在归档时的版本,GitHub API 后续变更不会跟进
  • 令牌权限即工具权限,无法按仓库或按工具做细粒度限制
  • 仍需 Node 运行时或 Docker 镜像,且镜像同样不再更新