New API

Claude Code 配置 GitHub:GitHub MCP Server 完整步骤

更新于 2026-10-27 · poloapi.cyou

简答:如果你只是让 Claude Code 操作当前电脑里的 GitHub 项目,进入仓库目录后运行 claude 即可;如果还要查询远程仓库、Issue 或 Pull Request,则需要添加 GitHub MCP Server。当前 GitHub 官方安装指南对 Claude Code 2.1.1 及更高版本给出 add-json 格式,对 2.1.0 及更早版本给出旧版 --transport http 格式;添加后重启 Claude Code,再用 claude mcp list 和 claude mcp get github 检查。

定义:Claude Code 配置 GitHub,通常是把本地仓库交给 Claude Code 使用 Git,或通过 GitHub MCP Server 让它调用 GitHub 的远程仓库、Issue 和 Pull Request 能力。

先判断:你需要本地 Git,还是 GitHub MCP

搜索“Claude Code 配置 GitHub”时,最容易混淆的是两种不同需求。第一种是本地 Git 工作流:你已经把 GitHub 仓库克隆到电脑,只希望 Claude Code 查看文件、运行 git status、创建提交或协助修改代码。此时进入仓库目录后启动 claude,不需要额外配置 GitHub MCP。

第二种是GitHub MCP 远程能力:你希望 Claude Code 查询远程仓库信息、Issue、Pull Request 或其他 GitHub API 能力。这时才需要按照 GitHub 官方安装指南添加远程 MCP Server。Claude Code 官方文档也把 MCP 作为连接外部工具的配置方式之一。可先按下面的表格选择路径。

你的目标是否需要 GitHub MCP先做什么
修改当前已克隆的项目不需要进入仓库目录,运行 claude
让 Claude Code 查询远程 Issue 或 Pull Request需要准备 GitHub Token,再添加 MCP Server
团队共享 MCP 配置需要使用项目级配置,但不要提交真实 Token
所有项目都使用同一个 GitHub MCP需要根据当前版本使用 --scope user

本文重点讲第二种:在 Claude Code 中配置 GitHub MCP Server。命令和版本边界以 GitHub 当前安装指南为准,本文检索日期为 2026 年 10 月 27 日。参考:GitHub MCP Server 的 Claude 安装指南、Claude Code 官方最佳实践。

配置前准备:安装 Claude Code 和创建 Token

先确认终端可以找到 Claude Code:

安装后可以进入一个已经克隆的项目目录,运行 claude。如果出现 claude: command not found,先检查官方文档提到的安装目录是否已经加入 PATH;不要在尚未确认 PATH 的情况下重复安装。

接下来创建 GitHub Personal Access Token。GitHub 官方建议优先使用细粒度 Token,因为它可以限定资源所有者、具体仓库和权限。创建路径是 GitHub 头像 → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token。

权限选择遵循最小化原则:

如果组织要求审批,细粒度 Token 可能处于待批准状态;这时即使命令格式正确,也可能无法访问组织仓库。权限和组织策略应以 GitHub 当前页面为准。参考:GitHub 管理个人访问令牌。

主流程:按 Claude Code 版本添加远程 GitHub MCP

先在项目目录外或项目目录的终端中查看 Claude Code 版本:

claude --version

根据 GitHub 官方安装指南,Claude Code 2.1.1 及更高版本使用 claude mcp add-json 格式。将下面的 YOUR_GITHUB_PAT 替换成真实 Token:

claude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer YOUR_GITHUB_PAT"}}'

这条命令会把 Token 放进命令参数,因此更适合临时测试,不建议把完整命令写入脚本、终端历史或团队文档。GitHub 官方指南明确建议避免硬编码 Token,并给出了使用环境变量或 .env 文件的方式。

如果你的版本是 Claude Code 2.1.0 或更早版本,使用官方给出的旧格式:

claude mcp add --transport http github https://api.githubcopilot.com/mcp -H "Authorization: Bearer YOUR_GITHUB_PAT"

Windows PowerShell 如果提示 missing required argument 'name',GitHub 指南给出的兼容写法是把服务器名称紧跟在 claude mcp add 后面:

$pat = "YOUR_GITHUB_PAT"

claude mcp add github --transport http https://api.githubcopilot.com/mcp/ -H "Authorization: Bearer $pat"

另外,GitHub 官方页面特别提醒:Windows 或 CLI 使用 add-json 添加 HTTP Server 时可能出现 Invalid input。这不是让你随意改参数,而是应先尝试该页面列出的旧格式,并结合本机的 claude mcp add --help 核对当前 CLI 参数。

若想改变配置作用范围,GitHub 指南当前列出的范围含义是:

例如,确认命令无误后,可以在命令末尾增加 --scope user。是否使用项目级范围,要结合团队仓库的密钥管理方式,不要因为“共享配置”就把个人 Token 提交进 Git。

以上命令、URL、版本边界和验证命令均来自:GitHub MCP Server 官方 Claude 安装指南。

安全保存 Token:配置可以共享,密钥不要共享

最小实践是把 Token 放在本地环境文件中,并将密钥文件和可能包含认证信息的 MCP 配置加入 .gitignore。例如:

GITHUB_PAT=your_token_here

echo -e ".env\n.mcp.json" >> .gitignore

Linux 或 macOS 可以先从 .env 读取变量,再执行官方示例的远程添加命令:

export GITHUB_PAT="$(grep '^GITHUB_PAT=' .env | cut -d '=' -f2-)"

claude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer '\"$GITHUB_PAT\"'"}}'

Windows PowerShell 可以使用 GitHub 指南给出的读取方式:

$githubPatLine = Get-Content .env | Select-String "^\s*GITHUB_PAT\s*=" | Select-Object -First 1

$env:GITHUB_PAT = ($githubPatLine.Line -split "=", 2)[1].Trim().Trim('"').Trim("'")

claude mcp add-json github "{`"type`":`"http`",`"url`":`"https://api.githubcopilot.com/mcp`",`"headers`":{`"Authorization`":`"Bearer $env:GITHUB_PAT`"}}"

需要注意三点:第一,.env 也可能被日志、备份或同步工具暴露;第二,项目级 .mcp.json 即使没有 Token,也应先检查是否包含其他敏感字段;第三,Token 一旦出现在 Shell 历史、进程参数或日志中,应及时撤销并重新创建。GitHub 官方也建议为 Token 设置有效期,并在不再需要时删除。

添加后如何验证:先看配置,再做只读请求

完成添加后重启 Claude Code,然后在终端执行:

claude mcp list

claude mcp get github

官方安装指南将这两个命令列为验证方式。第一条用于确认服务器是否出现在列表中,第二条用于查看名为 github 的具体配置。

进入 Claude Code 后,再使用 /mcp 查看当前 MCP 连接状态。首次连接如果出现授权或批准提示,只批准你确认过名称、URL 和用途的服务器。

验证问题建议从只读任务开始,例如:“读取我有权限访问的 owner/repo 仓库基本信息,只返回仓库名称、可见性和默认分支,不执行写操作。”这样可以把问题拆成三层:服务器是否已加载、Token 是否有效、Token 是否拥有该仓库权限。不要一开始就让 Claude 创建 Issue、修改 Pull Request 或执行写操作。

如果你只是要确认本地仓库连接,不必依赖 MCP:进入 GitHub 项目目录后运行 git remote -v 和 git status,确认远程地址与当前工作区即可。

常见报错排查清单

现象优先检查处理方式
Invalid inputClaude Code 版本和命令格式2.1.1 及以上先用 add-json;Windows 仍失败时尝试官方列出的旧格式,并运行 claude mcp add --help 核对参数。
missing required argument 'name'服务器名称位置PowerShell 旧格式中将 github 放在 claude mcp add 后面。
列表中没有 github命令是否在终端执行、是否重启退出并重新打开 Claude Code,再运行 claude mcp list 和 claude mcp get github。
401 或认证失败Token 是否复制完整、是否已撤销或过期重新检查 Token,确认 Authorization 使用 Bearer 前缀;不要把 Token 直接发到聊天或工单。
403 或组织仓库无法访问仓库范围、权限和组织审批检查细粒度 Token 是否选中目标仓库,组织是否要求批准,以及该 API 能力是否需要更高权限。
能访问公开仓库但不能访问私有仓库Token 资源范围在 GitHub Token 页面确认资源所有者和 Selected repositories 设置,不要直接改成全部仓库。
连接超时网络、代理和企业防火墙先确认终端能访问 GitHub MCP 使用的 URL;若处于企业网络,向管理员确认代理策略,不要擅自绕过安全控制。

401、403 并不都代表命令写错:它们也可能来自 Token 状态、仓库范围、组织审批或网络策略。排查时先用 claude mcp get github 确认 URL 和认证字段,再单独检查 GitHub Token 页面。

团队项目怎么放配置

如果配置只供个人使用,可以采用默认的 local 范围或 user 范围;如果团队需要共享服务器定义,可以采用项目级 .mcp.json,但共享文件中不要放个人 Token。

更稳妥的团队流程是:仓库提交不含秘密的服务器配置,成员各自按组织规则提供自己的 Token;提交前使用 git diff -- .mcp.json .env 检查是否出现密钥片段,并将 .env 加入 .gitignore。若 Token 已经提交到仓库、日志或截图中,应立即在 GitHub 中删除该 Token,再按最小权限重新创建。

Claude Code 的权限设置和 MCP 配置是不同层面:MCP 负责连接外部工具,Claude Code 的权限规则负责决定哪些命令或操作需要批准。不要因为已经配置了 MCP,就默认允许所有写操作。

常见问题

Claude Code 配置 GitHub 一定要创建 Token 吗?

如果只是进入本地已克隆仓库,让 Claude Code 使用本机 Git,通常不需要额外的 GitHub MCP Token。如果要调用远程 GitHub MCP Server,则 GitHub 官方安装指南提供了 Personal Access Token 认证方式;也可以根据官方支持的本地部署方式使用 OAuth。

Claude Code 2.1.1 和 2.1.0 的 GitHub MCP 命令有什么区别?

GitHub 当前安装指南写明,2.1.1 及更高版本使用 <code>claude mcp add-json</code>;2.1.0 及更早版本使用 <code>claude mcp add --transport http</code>。如果 Windows 使用 add-json 出现 <code>Invalid input</code>,应参考同一指南中的旧格式和 PowerShell 写法,而不是自行猜测参数。

为什么 claude mcp list 看不到 github?

先确认命令是在系统终端执行,而不是输入到 Claude Code 对话中;然后重启 Claude Code,再运行 <code>claude mcp list</code> 和 <code>claude mcp get github</code>。如果仍不存在,运行 <code>claude mcp add --help</code> 检查当前版本的参数格式,并核对服务器名称是否确实是 <code>github</code>。

GitHub MCP 返回 403,应该给 Token 增加全部权限吗?

不建议直接增加全部权限。先检查细粒度 Token 的资源所有者、Selected repositories、组织审批状态和具体权限。GitHub 官方文档说明细粒度 Token 可以限制到指定仓库和权限范围,但不同 API 端点需要的权限并不相同。

项目里的 .mcp.json 能不能直接提交到 Git?

是否提交取决于文件内容。如果只包含不带秘密的服务器定义,团队可以评估是否提交;如果含有 Token、环境变量值或其他敏感字段,就不应提交。无论是否提交,都应将 .env 加入 .gitignore,并在提交前检查 diff。

相关阅读

参考资料

  1. GitHub MCP Server:Install GitHub MCP Server in Claude Applications
  2. Claude Code user FAQ(support.claude.com)
  3. GitHub Docs:Managing your personal access tokens
  4. GitHub Docs:Permissions required for fine-grained personal access tokens