云端 MCP 配置格式
编写 mcpServers JSON、限制工具,并引用 Agents 专用变量。
This page has not been translated into English yet. The original Chinese version is shown below.
在仓库 Settings → Copilot → MCP servers 保存 JSON,顶层使用 mcpServers,其每个键是服务器名称。不要把 VS Code 的旧 servers 顶层或 CLI 的其他配置字段直接复制进来。
通用字段
| 字段 | 类型与规则 |
|---|---|
type | 必填,支持 local、stdio、http、sse |
tools | 必填字符串数组,列出允许工具;["*"] 允许全部 |
官方字段表要求每台服务器都有 tools,但其 Sentry 示例遗漏了此项。编写新配置时按字段要求补齐,不照搬缺项示例。启用哪些工具应以服务器实际工具列表为准。
本地进程
| 字段 | 用途 |
|---|---|
command | 必填,启动命令 |
args | 必填,参数数组 |
env | 可选,把环境变量名映射为字面值或 Agents 值引用 |
本地服务器是在云端 runner 中启动,不是用户电脑上的进程;依赖需要在那里预装。配置权限和工具范围之后,代理会自主调用,不再逐项请求批准。
远程服务
| 字段 | 用途 |
|---|---|
url | 必填,MCP 地址 |
headers | 可选,请求头字面值或 Agents 值引用 |
该环境不支持需要 OAuth 的远程 MCP。Token 或 API key 的具体请求头格式仍由外部服务器决定。
下面是官方提供的 Cloudflare 文档 MCP 示例;* 会开放该服务器全部工具,使用时应按实际需要缩小范围。
{
"mcpServers": {
"cloudflare": {
"type": "sse",
"url": "https://docs.mcp.cloudflare.com/sse",
"tools": ["*"]
}
}
}变量替换
只有带 COPILOT_MCP_ 前缀的 Agents secrets/variables 能用于 MCP 配置。支持的引用语法包括:
| 写法 | 示例 |
|---|---|
$VAR | $COPILOT_MCP_API_KEY |
${VAR} | ${COPILOT_MCP_API_KEY} |
${VAR:-default} | ${COPILOT_MCP_API_KEY:-fallback_value} |
除 tools 和 type 外,字符串及字符串数组字段支持替换。比如 env 可以把外部进程所需的 SENTRY_ACCESS_TOKEN 映射为 $COPILOT_MCP_SENTRY_ACCESS_TOKEN;不必把外部变量名也改成前缀形式。
JSON 不支持 // 注释。官方部分示例为了讲解使用带注释的 JavaScript 展示,粘贴前必须去掉注释并保证语法完整。
迁移 IDE 配置
检查并转换顶层对象;为每台服务器添加 tools;把 inputs、envFile 及参数里的交互输入引用改为显式 env 或 Agents 值引用。云端配置不能弹出本地密码输入框来完成认证。
GitHub 教程仍引用 VS Code 旧配置位置;当前 VS Code 的 portable 和兼容格式差异见VS Code MCP。无论源格式如何,都需要按本页云端字段重新核对。
保存成功只验证配置语法。实际命令启动、网络连接和工具发现仍需通过MCP 日志检查。