---
title: "用 MCP 扩展 Chat"
description: "在 IDE 中配置 MCP server，让 Copilot Agent mode 读取外部工具、资源和预设 prompts。"
verifiedAt: "2026-05-06"
---

用 MCP 扩展 Chat 的价值是少复制粘贴外部系统状态，让 Copilot 直接通过工具读取真实上下文。

> [!IMPORTANT]
> 上线方式要保守：**先只读，再写入；先个人验证，再团队共享**。一次接入太多 server 不仅排障难，还会让 agent 在选工具时绕路。

## 1. 配置放在哪里

GitHub 和 VS Code 官方文档都把 VS Code 的 MCP 配置分成两层：

- **工作区配置**：仓库根目录 `.vscode/mcp.json`，适合团队共享，应该走 PR 审查。
- **用户配置**：VS Code user profile，适合个人工具，不应该写进仓库。

官方示例里，工作区配置可以放在 `.vscode/mcp.json`：

```json
{
  "servers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}
```

VS Code 也支持远程 MCP server：

```json
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp"
    }
  }
}
```

不要把 API key、PAT、内部 token 直接硬编码进这个文件。VS Code 官方建议用 input variables 或 environment files 处理敏感信息。

## 2. 使用流程

```mermaid
flowchart TD
    Config["写入 mcp.json 或安装 server"] --> Trust["确认信任 server"]
    Trust --> Start["Start / MCP: List Servers"]
    Start --> Discover["发现 tools / prompts / resources"]
    Discover --> Agent["Copilot Chat 选择 Agent mode"]
    Agent --> Tools["打开工具列表并选择 MCP tools"]
    Tools --> Prompt["提出具体任务"]
    Prompt --> Verify["用外部系统结果验证"]

    style Trust fill:#fef3c7,stroke:#d97706,stroke-width:2px
    style Verify fill:#dcfce7,stroke:#16a34a,stroke-width:2px
```

实际操作时看 6 个点：

1. 保存 `.vscode/mcp.json` 或用户配置。
2. 从文件顶部 code lens 或命令启动 server。
3. 用 `MCP: List Servers` 确认 server 状态。
4. 打开 Copilot Chat，切到 Agent mode。
5. 点击工具图标，确认 server tools 已出现。
6. 用一个只读任务验证结果。

## 3. Tools、resources、prompts 怎么用

MCP server 可以提供三类能力：

- **Tools**：agent 可以调用的动作，例如 fetch URL、列 issue、创建 PR。
- **Resources**：server 提供的数据，可以通过 Chat 的 Add Context 加进上下文。
- **Prompts**：server 预设的交互入口，可用 `/mcp.servername.promptname` 调用。

这三类不要混用：

- 想让 Copilot 执行动作，用 tools。
- 想给 Copilot 读材料，用 resources。
- 想复用 server 内置任务，用 prompts。

## 4. 团队共享配置的边界

工作区 `.vscode/mcp.json` 适合共享，但它不是普通文档。提交前检查：

- Server command 是否会执行本机代码。
- args 是否包含下载、安装、网络访问。
- url 是否指向可信域名。
- 输入变量是否隐藏敏感值。
- 是否有最小 toolsets。
- 是否需要组织策略先允许 MCP。

VS Code 官方也提醒：本地 MCP server 可以在机器上运行任意代码，只从可信来源添加 server，并在启动前审查 publisher 和配置。

## 5. 排障路径

常见问题按顺序查：

1. Server 是否启动：`MCP: List Servers`。
2. Copilot Chat 是否在 Agent mode。
3. 工具列表里是否启用了对应 server tools。
4. 认证是否成功，OAuth/PAT scopes 是否足够。
5. 组织或企业策略是否禁用了 MCP。
6. Server output log 是否有启动或调用错误。
7. 外部系统本身是否返回 403、404、rate limit 或 network error。

<details>
<summary>深读：工作区 MCP 配置为什么要 code review</summary>

`.vscode/mcp.json` 会随仓库进入开发者环境。它可能启动本地命令、连接外部 URL、请求 token、暴露工具给 agent。

因此它和 CI 配置、devcontainer、GitHub Actions 一样，都属于会影响执行环境的工程资产。
</details>

## 本章自检

1. 这个配置应该是个人级还是工作区级？
2. Server 是否可信，启动命令是否可解释？
3. 是否避免硬编码 token？
4. 是否用只读任务验证 tools、resources 或 prompts？
5. 是否知道如何停用 server 和查看日志？

通过标准：Copilot 能调用 MCP 工具完成一个可验证任务，且配置没有泄露敏感信息。

## 官方来源

- [Extending GitHub Copilot Chat with MCP servers](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp) —— GitHub 官方 IDE Chat MCP 配置和使用。
- [Add and manage MCP servers in VS Code](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) —— VS Code 官方 server 安装、信任、启停和敏感信息处理。
- [MCP configuration reference](https://code.visualstudio.com/docs/copilot/reference/mcp-configuration) —— VS Code 官方 `mcp.json` 配置参考。

## 接下来去哪

<Cards>
  <Card title="GitHub MCP Server" description="用 GitHub 官方 server 连接仓库协作上下文。" href="/docs/github-copilot/official/07-mcp/github-mcp-server" />
  <Card title="企业 MCP 配置" description="把个人配置升级到企业治理边界。" href="/docs/github-copilot/official/07-mcp/enterprise-mcp" />
</Cards>
