企业 MCP 配置
说明 GHEC data residency、GHES、本地 server、toolsets、registry 和组织策略的 MCP 治理边界。
企业 MCP 配置不是“给所有人接所有工具”,而是把 server 来源、认证方式、toolsets、registry 和组织策略收拢到可审计边界里。
一句话决策:GitHub Enterprise Cloud(GHEC)+ data residency 可以用远程或本地 GitHub MCP server;GitHub Enterprise Server(GHES)只能用本地 server。这一条决定了你后面所有配置路径,先确认它。
1. 企业部署分流
GitHub 官方 Enterprise 配置页给出的边界:
- GitHub Enterprise Cloud with data residency:支持远程和本地 MCP server。
- GitHub Enterprise Server:不支持远程 MCP server hosting,必须使用本地 MCP server 配置。
flowchart TD
Env["企业 GitHub 环境"] --> GHEC{"GHEC data residency?"}
GHEC -->|是| Remote["远程 MCP server"]
GHEC -->|是| Local["本地 MCP server"]
GHEC -->|否| GHES{"GHES?"}
GHES -->|是| LocalOnly["仅本地 MCP server"]
GHES -->|否| Public["github.com remote server"]
Remote --> URL["copilot-api.<subdomain>.ghe.com/mcp"]
Local --> Docker["Docker / source + GITHUB_HOST"]
LocalOnly --> Docker
style Remote fill:#dbeafe,stroke:#2563eb,stroke-width:2px
style LocalOnly fill:#fef3c7,stroke:#d97706,stroke-width:2px
style Docker fill:#dcfce7,stroke:#16a34a,stroke-width:2px
2. GHEC data residency 的远程 URL
对于 GitHub Enterprise Cloud with data residency,远程 MCP server URL 要指向企业实例对应的 Copilot API 域名。
官方示例逻辑:
https://copilot-api.YOURSUBDOMAIN.ghe.com/mcp例如企业实例是 https://octocorp.ghe.com,MCP server URL 就是:
https://copilot-api.octocorp.ghe.com/mcp如果用 PAT,需要把 token 放在受控配置里,不要提交到仓库。
3. GHES 和本地 server
GHES 必须走本地 GitHub MCP server。官方说明本地 server 可以通过 Docker 或源码运行,并通过 GITHUB_HOST 环境变量或 --gh-host 参数指向企业 GitHub 主机。
本地 Docker 配置的关键点:
- 使用
ghcr.io/github/github-mcp-server。 - 设置
GITHUB_PERSONAL_ACCESS_TOKEN。 - 设置
GITHUB_HOST。 - 用 input variable 或环境变量提供 token。
- 在不同 IDE 中配置位置不同,但原则一致。
不要把 GITHUB_PERSONAL_ACCESS_TOKEN 直接写进可提交文件。
4. Toolsets 的企业策略
GitHub MCP Server 默认启用:
reposissuespull_requests
可以按任务启用:
actionscode_securitysecret_protectionstargazerscopilotgithub_support_docs_search
其中 copilot 和 github_support_docs_search 是 remote-only toolsets。企业里不建议用 all 作为默认值,除非有明确审计和审批。
建议按角色分层:
- 普通开发者:repo、issue、PR 只读为主。
- 维护者:增加 PR 写操作和 issue 更新。
- DevOps:增加 Actions。
- Security:增加 code security 和 secret protection。
- AI 平台管理员:单独管理 remote-only Copilot 工具。
5. MCP registry
MCP registry 用来简化发现和设置 MCP servers。GitHub 官方说明,Copilot 默认使用 GitHub MCP Registry,也可以配置自定义 MCP registry。
当前 registry 可用性有预览边界:官方页面把 JetBrains、Xcode、Eclipse 的 registry 配置标为 public preview 或 pre-release 相关要求。企业落地时不要把 preview 当成稳定基础设施。
治理建议:
- 内部 registry 只收录已审查 server。
- 每个 server 有 owner、版本、用途和风险等级。
- 高风险 server 不默认推荐安装。
- registry URL 变更要走变更记录。
6. 上线审查清单
上线前逐项确认:
- 企业环境类型:github.com、GHEC data residency 还是 GHES。
- Server 模式:remote、本地 Docker,还是源码运行。
- 认证方式:OAuth、PAT、input variable、环境变量。
- 组织策略:MCP servers in Copilot 是否启用。
- Toolsets:是否只开放当前角色需要的工具。
- Registry:是否来自 GitHub 官方或内部可信 registry。
- 日志:IDE、server、GitHub audit log 是否能追踪问题。
- 回滚:如何禁用 server、撤销 token、移除 registry。
深读:企业 MCP 的关键不是配置成功
配置成功只说明工具能跑。企业真正要解决的是权限漂移、工具来源、token 生命周期、审计日志、preview 能力变化和跨 IDE 差异。
先把最小工具链跑通,再扩展 toolsets 和 registry,比一次性铺满更稳。
本章自检
- 当前企业环境是否支持远程 MCP server?
- GHES 是否误用了远程 server 配置?
- PAT 是否被写进可提交文件?
- 默认 toolsets 是否过宽?
- Registry 是否可审查、可撤回、可追踪?
通过标准:不同团队成员看到的 MCP server、toolsets 和权限边界可解释,且管理员能禁用和追踪。
官方来源
- Configuring the GitHub MCP Server for GitHub Enterprise —— GitHub 官方 GHEC/GHES 配置边界。
- Configuring toolsets for the GitHub MCP Server —— GitHub 官方 toolsets 说明。
- Changing your MCP registry in your IDE —— GitHub 官方 registry 配置说明。
- Managing MCP usage —— GitHub 官方 MCP 策略入口说明。