Skip to main content

为 GitHub Copilot 命令行界面 (CLI) 添加 MCP 服务器

通过连接模型上下文协议 (MCP) 服务器来扩展 Copilot功能,以提供其他工具和上下文。

模型上下文协议 (MCP) 是一个开放标准,用于定义应用程序与大型语言模型 (LLM) 共享上下文的方式。 可以将 MCP 服务器连接到 GitHub Copilot 命令行界面 (CLI) 以提供 Copilot 对外部工具、数据源和服务的访问权限。 有关 MCP 的概述,请参阅“关于模型上下文协议 (MCP)”。

添加 MCP 服务器

注意

GitHub MCP 服务器内置在Copilot 命令行界面(CLI)一起,无需任何其他配置即可使用。 以下步骤用于添加其他 MCP 服务器。

如果组织或企业配置了注册表 URL 和允许列表策略,则这些设置将应用于 Copilot 命令行界面(CLI)。 配置的注册表 URL 将显示为发现源,只有允许列表策略允许的服务器才能运行。

可以通过以下方式添加 MCP 服务器:

有关特定 MCP 服务器的安装说明、可用工具和 URL,请参阅 GitHub MCP 注册表

使用 /mcp add 命令

  1. 在交互模式下,输入 /mcp add。 将显示配置窗体。 使用 Tab 在字段之间导航。

  2. 服务器名称旁边,输入 MCP 服务器的唯一名称。 这是您用来指代服务器的名称。

  3. “服务器类型” 旁边,按相应的数字选择类型。 以下类型可用:

    • 本地STDIO:启动本地进程并通过标准输入/输出进行通信(stdin/stdout)。 这两个选项的工作方式相同。 STDIO 是标准的 MCP 协议类型名称,因此,如果希望配置与 VS Code、 Copilot云代理MCP 客户端和其他 MCP 客户端兼容,请选择此选项。
    • HTTPSSE:连接到远程 MCP 服务器。 HTTP 使用可流式传输的 HTTP 传输。 SSE 将旧 HTTP 与 Server-Sent 事件传输配合使用,该传输在 MCP 规范中已弃用,但仍支持向后兼容。
  4. 其余字段取决于所选的服务器类型:

    • 如果选择 “本地”“STDIO”:

      • Command 旁边输入用于启动服务器的命令,包括任何参数。 例如,npx @playwright/mcp@latest。 这对应于 JSON 配置文件中的 command 属性和 args 属性。
      • 环境变量旁边,可以选择指定服务器所需的环境变量,例如 API 密钥或令牌,例如 JSON 键值对。 例如,{"API_KEY": "YOUR-API-KEY"}。 变量 PATH 会自动继承自您的环境。 必须在此处配置所有其他环境变量。
    • 如果选择 HTTPSSE

      • URL 旁边,粘贴远程服务器 URL。 例如,https://mcp.context7.com/mcp
      • HTTP 标头旁边,可以选择将 HTTP 标头指定为 JSON。 例如,{"CONTEXT7_API_KEY": "YOUR-API-KEY"}
  5. “工具” 旁边,指定服务器中的哪些工具应可用。 输入 * 以包括所有工具,或提供逗号分隔的工具名称列表(无需引号)。 默认值为 *

  6. Ctrl+S 保存配置。 MCP 服务器会立即添加并可用,无需重启 CLI。

使用 copilot mcp add 子命令

可以使用子命令从终端 copilot mcp add 添加 MCP 服务器,而无需进入交互模式。 服务器已添加到位于 ~/.copilot/mcp-config.json 的用户配置中。

对于本地(stdio)服务器,请在 -- 后提供该命令:

Shell
copilot mcp add SERVER-NAME -- COMMAND [ARGS...]

对于远程(HTTP/SSE)服务器,请指定传输并提供 URL:

Shell
copilot mcp add --transport http SERVER-NAME URL

还可以传递其他选项:

  • --env KEY=VALUE:设置服务器的环境变量。 对多个变量重复此操作。
  • --header "HEADER: VALUE":设置远程服务器的 HTTP 标头。 对多个标头重复此操作。
  • --transport TRANSPORT:设置传输类型(stdiohttp``sse)。 默认值为 stdio
  • --tools TOOLS:指定要启用的工具。 对所有工具使用 *(默认值),使用逗号分隔的列表,或者对不使用任何工具使用 ""
  • --timeout MS:设置超时(以毫秒为单位)。

示例

添加本地 stdio 服务器:

Shell
copilot mcp add context7 -- npx -y @upstash/context7-mcp

添加包含环境变量的本地服务器:

Shell
copilot mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server

添加远程 HTTP 服务器:

Shell
copilot mcp add --transport http notion \
  https://mcp.notion.com/mcp

添加具有授权标头的远程服务器:

Shell
copilot mcp add --transport http \
  --header "Authorization: Bearer YOUR-TOKEN" \
  stripe https://mcp.stripe.com

编辑配置文件

通过编辑 ~/.copilot/mcp-config.json 处的配置文件,还可以添加 MCP 服务器。 如果要共享配置或一次性添加多个服务器,这非常有用。

以下示例显示了具有本地服务器和远程 HTTP 服务器的配置文件:

JSON
{
  "mcpServers": {
    "playwright": {
      "type": "local",
      "command": "npx",
      "args": ["@playwright/mcp@latest"],
      "env": {},
      "tools": ["*"]
    },
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR-API-KEY"
      },
      "tools": ["*"]
    }
  }
}

有关 MCP 服务器配置的详细信息,请参阅 为存储库配置 MCP 服务器

从注册表搜索和安装

注意

/mcp search 命令目前是一项实验性功能。 若要使用它,请从Copilot 命令行界面(CLI)命令行选项开始--experimental,或在会话期间输入/experimental on

可以使用交互模式下的GitHub命令直接从 /mcp search发现和安装 MCP 服务器。 这样,便可以浏览可用的服务器、查看其详细信息并安装它们,而无需手动填写配置表单。

如果你的组织已配置自定义 MCP 注册表 URL,/mcp search 将连接到该注册表,而非默认的 GitHub 注册表。

  1. 在交互式模式下,输入 /mcp search 以按星号浏览热门服务器,或 /mcp search QUERY 搜索特定服务器。 例如:

    /mcp search context7
    
  2. 将显示匹配服务器的键盘导航列表。 使用箭头键浏览结果。

  3. 选择服务器以打开其配置窗体。 表单已预先填入从注册表中读取的服务器配置。 填写任何必填字段,例如 API 密钥或令牌。

  4. Ctrl+S 进行保存。 服务器已添加到您的 mcp-config.json 中,并立即启动。

管理 MCP 服务器

您可以使用交互模式下的 /mcp 命令,或通过终端使用 copilot mcp 子命令来管理已配置的 MCP 服务器。

在交互模式下使用 /mcp 命令

  • 列出配置的 MCP 服务器: 使用命令 /mcp show。 这将显示所有配置的 MCP 服务器及其当前状态。

  • 查看有关特定服务器的详细信息: 使用命令 /mcp show SERVER-NAME。 这会显示指定服务器的状态及其提供的工具列表。

  • 编辑服务器的配置: 使用命令 /mcp edit SERVER-NAME

  • 删除服务器: 使用命令 /mcp delete SERVER-NAME

  • 禁用服务器: 使用命令 /mcp disable SERVER-NAME。 禁用的服务器持续保持配置状态,但在当前会话中不被 Copilot 使用。

  • 启用以前禁用的服务器: 使用命令 /mcp enable SERVER-NAME

在终端中使用 copilot mcp 子命令

还可以从终端管理 MCP 服务器,而无需进入交互模式。

  • 列出所有配置的服务器:

    Shell
    copilot mcp list
    

    列出来自所有配置源(用户、工作区和插件)的服务器。 为 JSON 输出添加 --json

  • 查看服务器详细信息:

    Shell
    copilot mcp get SERVER-NAME
    

    显示服务器的类型、状态和可用工具。 为 JSON 输出添加 --json

  • 删除服务器:

    Shell
    copilot mcp remove SERVER-NAME
    

    从用户配置中删除服务器。

使用 MCP 服务器

添加 MCP 服务器后, Copilot 可以在与提示相关时自动使用它提供的工具。 还可以在提示中直接引用 MCP 服务器和特定工具,以确保使用它们。

延伸阅读