Codex CLI教程五 | MCP 之 GitHub前言第一章MCP 接入前置要求第二章MCP 接入方式2.1 方式一本地接入2.2 方式二远程接入推荐2.3 GitHub PAT 怎么准备1. Repository access2. Permissions3. 保存 Token2.4 配置文件位置2.5 配完以后怎么验证第三章该怎么选第四章补充说明4.1 OAuth 和 PAT 都可以用4.2 Fine-grained PAT 不要和 classic scope 混着写4.3 不要漏掉仓库范围前言给 Codex 接入 GitHub MCP目的很明确让 Codex 直接访问 GitHub 能力比如查看仓库、读取 issue、处理 pull request、检查 workflow 等。GitHub MCP 本质上是一个面向 GitHub 能力的 MCP Server作用是把 GitHub 的上下文和操作能力接入到 Codex 里。第一章MCP 接入前置要求在正式配置之前先准备好以下内容一个支持 MCP 的客户端比如Codex一个可用的 GitHub 账号一种 GitHub 认证方式GitHub MCP 通常需要认证常见方式有两种GitHub OAuthGitHub Personal Access TokenPAT不过放到 Codex 的实际配置场景里远程接入通常直接使用 PAT本地接入最常见的方式也是PAT。如果你使用的是Fine-grained personal access token还需要额外注意两件事Repository access要选对仓库范围Permissions要给够所需权限准备好认证方式之后就可以开始正式接入了。第二章MCP 接入方式2.1 方式一本地接入本地接入的意思是在本机启动一个 GitHub MCP 进程。Codex 不会直接连接 GitHub而是先连接这个本地 MCP 进程再由这个进程去访问 GitHub。它的链路可以理解为Codex - 本地 GitHub MCP - GitHub本地方式最常见的认证方式是GitHub PAT。典型配置结构如下[mcp_servers.github] command 你本机上 github-mcp-server 可执行文件的实际位置 args [stdio] env { GITHUB_PERSONAL_ACCESS_TOKEN 你的 GitHub PAT } startup_timeout_sec 20这段配置的含义如下command本地 GitHub MCP Server 的启动命令args以stdio模式运行env通过环境变量传入 GitHub PATstartup_timeout_sec启动超时时间如果你希望自己掌控本地运行方式并且愿意使用 PAT 认证可以考虑本地接入。2.2 方式二远程接入推荐远程接入的意思是不在本机启动 GitHub MCP 进程。Codex 会直接连接 GitHub 官方托管的远程 MCP 服务。它的链路可以理解为Codex - GitHub 远程 MCP官方远程地址如下[mcp_servers.github] url https://api.githubcopilot.com/mcp/ startup_timeout_sec 20GitHub MCP 在通用层面支持OAuth和PAT两种认证方式。但放到 Codex 的手动配置场景里远程接入通常直接使用 PAT不按 OAuth 作为默认方案讲。在 Codex 里远程接入常见写法如下[mcp_servers.github] url https://api.githubcopilot.com/mcp/ bearer_token_env_var GITHUB_PAT_TOKEN startup_timeout_sec 20这段配置表示urlGitHub 官方托管的远程 MCP 地址bearer_token_env_var从环境变量中读取 GitHub Tokenstartup_timeout_sec连接超时时间如果你只是想尽快接入并开始使用远程接入通常更适合作为默认方案。2.3 GitHub PAT 怎么准备如果你使用的是 GitHub PAT建议优先选择Fine-grained personal access token创建时建议这样设置。1. Repository access通常建议选择Only select repositories然后勾选你要让 GitHub MCP 访问的仓库。2. Permissions基础场景下通常先给下面这些权限Contents→Read and writeIssues→Read and writePull requests→Read and writeMetadata→Read-onlyCommit statuses→Read-only如果还要处理 GitHub Actions再额外补Workflows→Read and write3. 保存 TokenToken 生成后一般只显示一次创建完成后要立即复制保存。2.4 配置文件位置Codex 的 MCP 配置通常写在~/.codex/config.tomlWindows 下常见路径类似C:\Users\你的用户名\.codex\config.toml也就是说上面的配置都应该写进这个config.toml文件里。2.5 配完以后怎么验证配置完成后建议按下面顺序检查保存config.toml确认环境变量已经生效重新打开 Codex查看 GitHub MCP 是否已加载实际测试一次调用例如可以测试List my GitHub repositoriesShow me open pull requests in owner/repoShow me recent issues in owner/repo如果这些请求能正常返回结果说明 GitHub MCP 已经接通。第三章该怎么选如果只是从使用成本来看更建议这样理解想少折腾环境、尽快接入优先选远程接入想自己控制本地启动链路可以选本地接入也就是说默认推荐远程接入本地接入更适合明确需要本地运行的人第四章补充说明4.1 OAuth 和 PAT 都可以用GitHub MCP 在通用层面支持 OAuth 和 PAT。但在 Codex 的手动配置场景里通常直接按 PAT 配置即可。4.2 Fine-grained PAT 不要和 classic scope 混着写如果你创建的是Fine-grained personal access token就按 GitHub 页面里的细粒度权限项来配比如ContentsIssuesPull requests不要再写 classic token 的repo、workflow那套 scope 名称。4.3 不要漏掉仓库范围对于Fine-grained PAT来说除了权限项还要选对仓库范围。如果目标仓库没包含进去后面一样不能正常使用。