
GitHub MCP Server

2025.04.04
0
TypeScript仓库管理代码搜索问题跟踪开发协作开发效率交流协作
GitHub MCP Server 是一个基于 GitHub API 的 MCP 服务,提供了文件操作、仓库管理、搜索功能等一系列与 GitHub 交互的能力。该服务支持自动分支创建、全面的错误处理、Git 历史保留、批量操作以及高级搜索等功能,适用于开发团队协作、代码管理、问题跟踪等多种场景。
View on GitHub
Overview
基本能力
产品定位
GitHub MCP Server 是一个专门为 GitHub API 设计的 MCP 服务,旨在简化与 GitHub 的交互,提供高效的文件操作、仓库管理、搜索功能等。
核心功能
- 自动分支创建:在创建/更新文件或推送更改时,自动创建不存在的分支。
- 全面的错误处理:为常见问题提供清晰的错误信息。
- Git 历史保留:操作时保持正确的 Git 历史,无需强制推送。
- 批量操作:支持单文件和多文件操作。
- 高级搜索:支持代码、问题/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 设置 > 开发者设置 > 个人访问令牌中创建,选择适当的仓库权限和范围。
- 如何使用 Docker 运行:通过 Docker 命令运行,并设置环境变量
GITHUB_PERSONAL_ACCESS_TOKEN
。 - 如何使用 NPX 运行:通过 NPX 命令运行,并设置环境变量
GITHUB_PERSONAL_ACCESS_TOKEN
。
使用教程
使用依赖
- 创建个人访问令牌:
- 访问 GitHub 个人访问令牌页面。
- 选择适当的仓库权限(如
repo
或public_repo
)。 - 生成并复制令牌。
安装教程
- Docker 安装:
bash docker build -t mcp/github -f src/github/Dockerfile .
- NPX 安装:
bash npx -y @modelcontextprotocol/server-github
调试方式
- Docker 运行:
bash docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN mcp/github
- NPX 运行:
bash npx -y @modelcontextprotocol/server-github