详细讲解 GitHub MCP Server 的配置方法,包括 Personal Access Token 创建、权限设置、安全配置。适用于需要让 AI 安全操作 GitHub 仓库的开发者。
GitHub MCP Server 让 AI Agent 能够安全地操作 GitHub 仓库。本文详细讲解配置方法和安全最佳实践。
GitHub MCP Server 提供以下能力:
Token 名称
Claude-Code-MCP
有效期
权限范围(Scopes)
| 权限 | 说明 | 推荐 |
|---|---|---|
| repo | 完全控制私有仓库 | ✅ 必须 |
| repo:status | 访问提交状态 | ✅ 推荐 |
| repo_deployment | 访问部署状态 | 可选 |
| public_repo | 访问公开仓库 | ✅ 推荐 |
| read:org | 读取组织信息 | 可选 |
| read:user | 读取用户信息 | 可选 |
| read:discussion | 读取讨论 | 可选 |
最小权限推荐
repo, repo:status, public_repo
重要:Token 只显示一次,务必保存!
ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
方式 1:配置文件中使用环境变量
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}
方式 2:系统环境变量
# 添加到 ~/.zshrc 或 ~/.bashrc
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 配置文件引用
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "" + process.env.GITHUB_TOKEN + ""
}
只授予必要的权限:
public_reporepo定期更换 Token:
查看 Token 使用记录:
GitHub Settings → Developer settings → Personal access tokens
→ 点击 Token 名称查看 Last used
不要:
应该:
/mcp 查看 github 工具请查看我的 GitHub 仓库列表
解决:
解决:
GitHub Settings → Developer settings → Personal access tokens
→ 点击 Delete 删除 Token
目前不可以。GitHub Classic Token 是全局的。如需限制,使用 Fine-grained Token(实验性功能)。
最小权限:repo, repo:status, public_repo。根据需求选择。
在 GitHub 创建新 Token,更新配置,重启 Claude Code。
使用环境变量,不要提交到代码仓库,使用密码管理器。
人类专家验证
官方机器人验证