GitHub MCP 服务器
功能概览
GitHub MCP 服务器提供了以下功能:
- 代码搜索:通过编程语言、路径或文件扩展进行筛选
- 问题和拉取请求管理:包括创建、更新和删除操作
- 评论交互:支持添加、查询和删除评论
- 分支管理:提供创建和删除分支的功能
- 标签操作:支持添加、列出和删除标签
- 状态检查:用于设置和获取提交的状态
- 用户信息检索:包括当前用户和仓库信息查询
使用指南
代码搜索
language:javascript
:按编程语言筛选
repo:owner/name
:指定特定仓库进行搜索
path:app/src
:按文件路径筛选
extension:js
:按文件扩展名筛选
- 示例:
q: "import express" language:typescript path:src/
问题和拉取请求搜索
is:issue
或 is:pr
:按类型筛选(问题或拉取请求)
is:open
或 is:closed
:按状态筛选
label:bug
:按标签筛选
author:username
:按作者筛选
- 示例:
q: "memory leak" is:issue is:open label:bug
用户搜索
type:user
或 type:org
:按账户类型筛选
followers:>1000
:按关注者数量筛选
location:London
:按地理位置筛选
- 示例:
q: "fullstack developer" location:London followers:>100
环境配置
个人访问令牌
创建 GitHub 个人访问令牌:
- 访问 Personal access tokens(在 GitHub 设置 > 开发者设置中)
- 选择仓库访问权限(公共、全部或指定)
- 创建一个具有
repo
权限的令牌(建议使用以获得对私有仓库的完全控制权)
- 复制生成的令牌
与Claude Desktop集成
在 claude_desktop_config.json
中添加以下配置:
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 .
许可证
本 MCP 服务器在 MIT 许可证下发布。这意味着您可以自由地使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。更多细节请参阅项目仓库中的 LICENSE 文件。
以上是完整翻译后的中文内容。