
Cursor 中安装 GitHub MCP Server 完整指南远程托管与本地 Docker 双方案【免费下载链接】github-mcp-serverGitHubs official MCP Server项目地址: https://gitcode.com/GitHub_Trending/gi/github-mcp-server本指南面向在 Cursor IDE 中使用 GitHub MCP Server 的开发者系统讲解两条官方安装路径连接 GitHub 托管的远程服务器推荐零本地依赖以及通过 Docker 运行本地服务器支持 OAuth 浏览器登录与 PAT 令牌。读完本文你将能够独立完成 Cursor 的 MCP 配置、认证与故障排查让 Cursor 的 Chat/Composer 直接调用 GitHub 仓库、Issue、PR 等各类工具。前置条件在开始前请确认以下环境就绪Cursor IDE已安装最新版本。GitHub Personal Access TokenPAT在 GitHub 的 Personal access tokens 设置页创建并授予所需 scope。远程方案目前仅支持 PAT 认证Cursor 对部分 MCP 服务器支持 OAuth但 GitHub 服务器目前仍要求使用 PAT。Docker仅本地安装需要安装并保持 Docker 服务运行macOS/Windows 上为 Docker Desktop。方案一远程服务器推荐GitHub 官方托管了远程 MCP 服务器地址为https://api.githubcopilot.com/mcp/无需本地任何运行时。远程服务器基于本仓库代码构建并集成进 GitHub 服务器基础设施且会随仓库代码持续更新。注意远程方案依赖 Cursor 对Streamable HTTP传输协议的支持需要Cursor v0.48.0 或更高版本。安装步骤点击官方安装按钮或直接打开 Cursor 的全局 MCP 配置文件~/.cursor/mcp.json手动输入下方配置块。在Tools Integrations MCP tools中点击 github 旁的铅笔图标进入编辑。将YOUR_GITHUB_PAT替换为你的真实 GitHub Personal Access Token。保存文件。完全重启 Cursor使配置生效。Streamable HTTP 配置远程服务器采用 MCP 的 Streamable HTTP 传输协议在mcpServers下以urlheaders方式声明{ mcpServers: { github: { url: https://api.githubcopilot.com/mcp/, headers: { Authorization: Bearer YOUR_GITHUB_PAT } } } }关于该协议与服务器行为仓库文档 streamable-http.md 说明了对应本地 HTTP 服务器的等价实现github-mcp-server http命令默认监听8082端口可通过--scope-challenge启用 scope 校验scope 不足时返回 403 及WWW-Authenticate头并通过--base-url/--base-path支持反向代理场景远程托管版本即此类 HTTP 服务的部署形态因此 Cursor 侧只需关心url与认证头。方案二本地服务器Docker OAuth 登录本地服务器通过 Docker 运行使用官方镜像ghcr.io/github/github-mcp-server无需自己构建。与远程方案要求 PAT 不同本地 Docker 方案推荐直接使用 OAuth 登录官方发布二进制与官方镜像内已内置一个注册好的 GitHub OAuth 应用凭据因此你无需提供任何 client ID——服务器首次使用时会在浏览器中打开 GitHub 授权页登录后令牌仅保存在内存中不落盘。安装步骤点击官方安装按钮或直接编辑全局配置~/.cursor/mcp.json。在Tools Integrations MCP tools中编辑 github 条目。保存文件后完全重启 Cursor。Docker OAuth 配置容器无法访问宿主机的随机回环端口因此 Docker 场景下 OAuth 需要一个固定的回调端口并发布到容器内。请使用端口8085——它与官方应用注册的回调 URL 一致{ mcpServers: { github: { command: docker, args: [ run, -i, --rm, -p, 127.0.0.1:8085:8085, -e, GITHUB_OAUTH_CALLBACK_PORT, ghcr.io/github/github-mcp-server ], env: { GITHUB_OAUTH_CALLBACK_PORT: 8085 } } } }关键点解读-e GITHUB_OAUTH_CALLBACK_PORT与env.GITHUB_OAUTH_CALLBACK_PORT成对出现前者把宿主环境变量透传进容器后者向 Cursor 传递变量值二者缺一不可。必须只发布到回环地址127.0.0.1:8085:8085而非-p 8085:8085。容器内回调监听器必然绑定所有网卡接口若直接发布到公网接口授权码将暴露在你的局域网中——源码 flow.go 中容器内绑定时会专门打印警告提醒这一点。固定端口若被占用服务器会直接报错退出而非静默降级到设备码流程这是刻意设计的安全行为一个你没有拿到的端口可能正被其他进程监听以截获授权重定向。请释放端口或改用其他--oauth-callback-port。容器内无法自动打开宿主机浏览器授权 URL 会通过 MCP 客户端的 URL elicitation如 VS Code 1.101 支持或首个工具响应中的消息呈现给你授权完成后浏览器访问localhost:8085由 Docker 转发进容器回调。如需了解**原生二进制非 Docker**下的 OAuth 流程随机回环端口、自动打开浏览器、无固定端口以及 headless/设备码降级方案、GitHub Enterprise 与自带 OAuth/GitHub App 等进阶场景请参阅 oauth-login.md。使用 PAT 替代 OAuth如果希望改用 Personal Access Token 认证PAT 优先级更高一旦设置将完全跳过 OAuth{ mcpServers: { github: { command: docker, args: [ run, -i, --rm, -e, GITHUB_PERSONAL_ACCESS_TOKEN, ghcr.io/github/github-mcp-server ], env: { GITHUB_PERSONAL_ACCESS_TOKEN: YOUR_GITHUB_PAT } } } }重要提醒npm 包modelcontextprotocol/server-github自 2025 年 4 月起已停止支持、不再可用请改用官方 Docker 镜像ghcr.io/github/github-mcp-server。从源码看本地服务器的认证逻辑在 cmd/github-mcp-server/main.go 中统一解析当GITHUB_PERSONAL_ACCESS_TOKEN为空且未配置 GitHub App 认证时才会尝试 OAuth若--oauth-client-id也未提供则回退到构建时内嵌的官方客户端internal/buildinfo.OAuthClientID这正是官方镜像开箱即用、零配置登录的实现依据。相关环境变量与--oauth-*参数的对应关系可参考 main.go 的参数绑定段Flag环境变量说明--oauth-client-idGITHUB_OAUTH_CLIENT_IDOAuth App / GitHub App 的 client ID未设置 token 时启用 OAuth 登录官方构建默认内置 github.com 的应用--oauth-client-secretGITHUB_OAUTH_CLIENT_SECRET客户端密钥如应用需要对分布式客户端属于公开的非机密凭据--oauth-scopesGITHUB_OAUTH_SCOPES逗号分隔的申请 scope同时会把工具过滤到这些 scope默认取完整支持集合--oauth-callback-portGITHUB_OAUTH_CALLBACK_PORT回调服务器固定本地端口默认随机端口Docker 映射端口时必须显式指定另外Dockerfile 中镜像的默认入口命令为CMD [stdio]即以 stdio 模式启动这也是 Cursor 本地 MCP 通过commandargs拉起 Docker 后能够直接对话的原因。配置文件位置Cursor 支持两处 MCP 配置均使用mcpServers顶层键全局所有项目生效~/.cursor/mcp.json项目级仅当前项目生效项目根目录下的.cursor/mcp.json验证安装完全重启 Cursor不是重新加载窗口。打开Settings → Tools Integrations → MCP Tools检查 github 条目是否显示绿色圆点表示服务器已连接。在 Chat/Composer 面板中打开 Available Tools确认 GitHub 工具已列出。输入测试指令例如List my GitHub repositories观察是否正常返回你的仓库列表。故障排查远程服务器问题Streamable HTTP 不工作确认 Cursor 版本 ≥ v0.48.0。认证失败检查 PAT 是否具备所需 scopePAT 优先于其他认证方式若同时配置了 OAuth 与 PAT以 PAT 为准。连接错误检查防火墙 / 代理设置是否放行对api.githubcopilot.com的访问。本地服务器问题Docker 报错确认 Docker Desktop 正在运行。镜像拉取失败尝试先执行docker logout ghcr.io再重试拉取。Docker 未找到安装 Docker Desktop 并确保其已启动。通用问题MCP 未加载修改配置后必须完全重启 Cursor。JSON 格式错误用 JSON 校验工具确认mcp.json语法正确。工具未出现检查 MCP 设置中服务器是否显示绿色圆点。查看日志在 Cursor 日志中搜索与 MCP 相关的错误信息。重要说明官方 Docker 镜像ghcr.io/github/github-mcp-server受官方支持推荐使用。已弃用 npm 包modelcontextprotocol/server-github2025 年 4 月起弃用已无法正常工作。Cursor 特性同时支持项目级与全局配置统一使用mcpServers键声明服务器。安全最佳实践无论选择哪种方案建议遵循以下原则令牌保密绝不将 GitHub PAT 提交到版本控制。最小化 scope只授予完成任务所需的最小权限。文件权限对包含令牌的配置文件严格限制读取权限。定期轮换周期性更换 Personal Access Token。优先 OAuth本地场景尽量使用 OAuth 登录令牌仅存内存、不落盘安全性更好。其他宿主环境的安装方式可参考 安装指南目录其中包含支持矩阵与各 IDE 的差异化说明。【免费下载链接】github-mcp-serverGitHubs official MCP Server项目地址: https://gitcode.com/GitHub_Trending/gi/github-mcp-server创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考