官方教程中文版MCP 与外部工具
用 MCP 扩展 Chat
在 IDE 中配置 MCP server,让 Copilot Agent mode 读取外部工具、资源和预设 prompts。
用 MCP 扩展 Chat 的价值是少复制粘贴外部系统状态,让 Copilot 直接通过工具读取真实上下文。
上线方式要保守:先只读,再写入;先个人验证,再团队共享。一次接入太多 server 不仅排障难,还会让 agent 在选工具时绕路。
1. 配置放在哪里
GitHub 和 VS Code 官方文档都把 VS Code 的 MCP 配置分成两层:
- 工作区配置:仓库根目录
.vscode/mcp.json,适合团队共享,应该走 PR 审查。 - 用户配置:VS Code user profile,适合个人工具,不应该写进仓库。
官方示例里,工作区配置可以放在 .vscode/mcp.json:
{
"servers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}VS Code 也支持远程 MCP server:
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp"
}
}
}不要把 API key、PAT、内部 token 直接硬编码进这个文件。VS Code 官方建议用 input variables 或 environment files 处理敏感信息。
2. 使用流程
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 个点:
- 保存
.vscode/mcp.json或用户配置。 - 从文件顶部 code lens 或命令启动 server。
- 用
MCP: List Servers确认 server 状态。 - 打开 Copilot Chat,切到 Agent mode。
- 点击工具图标,确认 server tools 已出现。
- 用一个只读任务验证结果。
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. 排障路径
常见问题按顺序查:
- Server 是否启动:
MCP: List Servers。 - Copilot Chat 是否在 Agent mode。
- 工具列表里是否启用了对应 server tools。
- 认证是否成功,OAuth/PAT scopes 是否足够。
- 组织或企业策略是否禁用了 MCP。
- Server output log 是否有启动或调用错误。
- 外部系统本身是否返回 403、404、rate limit 或 network error。
深读:工作区 MCP 配置为什么要 code review
.vscode/mcp.json 会随仓库进入开发者环境。它可能启动本地命令、连接外部 URL、请求 token、暴露工具给 agent。
因此它和 CI 配置、devcontainer、GitHub Actions 一样,都属于会影响执行环境的工程资产。
本章自检
- 这个配置应该是个人级还是工作区级?
- Server 是否可信,启动命令是否可解释?
- 是否避免硬编码 token?
- 是否用只读任务验证 tools、resources 或 prompts?
- 是否知道如何停用 server 和查看日志?
通过标准:Copilot 能调用 MCP 工具完成一个可验证任务,且配置没有泄露敏感信息。
官方来源
- Extending GitHub Copilot Chat with MCP servers —— GitHub 官方 IDE Chat MCP 配置和使用。
- Add and manage MCP servers in VS Code —— VS Code 官方 server 安装、信任、启停和敏感信息处理。
- MCP configuration reference —— VS Code 官方
mcp.json配置参考。