TellWorldAI 世界档案
问档案English

首页›实践›实践

实践

在 VS Code 里使用 MCP 服务器

在 VS Code 的 Copilot Chat 里接入 MCP 服务器:用 .vscode/mcp.json 配置,启动后勾选工具,然后用一句话让它们干活。

这篇适合谁、读完能做到什么

你已经有一个能运行的 MCP 服务器,想让它在编辑器里直接可用,而不是另开终端去调。读完这篇,你应该能在项目的 .vscode 目录里写好 mcp.json,在 VS Code 里启动服务器,并用 GitHub Copilot Chat 的自然语言提示调用它的工具。[1]

为什么在 IDE 里接 MCP 服务器

VS Code 和 GitHub Copilot 可以充当 MCP 客户端来使用服务器。服务器提供的功能因此能在编辑器里直接调用,用自然语言提示代替记忆命令。举的例子是接入 GitHub 的 MCP 服务器,这样就能用提示来控制 GitHub,而不必在终端里敲特定命令。[1]

整体思路分三步:用一个配置文件告诉 VS Code 服务器在哪里;启动或连接服务器,让它列出自己的能力;然后通过 GitHub Copilot Chat 使用这些能力。[1]

这种接法的好处在于,服务器能做什么由服务器决定,编辑器只负责发现、列出和调用。工具的描述写得越清楚,Copilot 越容易根据提示选对工具。例子也印证了这一点:它用一句与工具描述相符的提示来触发工具。[1]

两种操作方式:界面和终端

控制 MCP 服务器有两种方式。一种是图形界面,后面的步骤都用界面完成。另一种是终端,使用 code 命令行程序。想把服务器加入用户配置,可以用 --add-mcp 选项,并给出 JSON 格式的服务器配置,其中包括名称、命令和参数。给的例子是:[1]

code --add-mcp "{\"name\":\"my-server\",\"command\": \"uvx\",\"args\": [\"mcp-server-fetch\"]}"

这条命令会添加一个名为 my-server 的服务器,启动命令是 uvx,参数是 mcp-server-fetch。[1]

准备:打开 MCP 发现功能

有时需要先开启 MCP 服务器的发现功能。在 VS Code 中打开 File -> Preferences -> Settings,搜索 "MCP",然后在 settings.json 里启用 chat.mcp.discovery.enabled。[1]

第一步:创建配置文件

在项目根目录下建一个 .vscode 文件夹,并在里面放一个 mcp.json。目录结构是这样的:

.vscode
|-- mcp.json

文件名在不同位置写法不一:正文里写作 MCP.json,目录图里写作 mcp.json。本文统一用小写的 mcp.json。[1]

第二步:添加服务器条目

.vscode 放在项目根目录下,意味着这份配置跟着项目走,别人打开同一个项目时也会看到同样的服务器条目。这是根据文件位置得出的推断,没有专门讨论。

把下面的内容写进 mcp.json:

{
    "inputs": [],
    "servers": {
       "hello-mcp": {
           "command": "node",
           "args": [
               "build/index.js"
           ]
       }
    }
}

这里的服务器叫 hello-mcp,用 Node.js 启动 build/index.js。说明,别的运行时只要把 command 和 args 换成对应的启动命令即可。[1]

inputs 数组在这个例子里是空的。小结提到,它可以用来向用户要 API 密钥之类的值,这些值会在配置服务器条目时传给 MCP 服务器。[1]

没有给出 hello-mcp 服务器的代码。读者可以接入自己写的服务器,也可以用配套的计算器示例,列出的示例有 TypeScript、Python、Java、.NET 和 JavaScript 版本。同一个 mcp.json 里可以放多个服务器条目,每个条目用自己的名字区分。[1]

第三步:启动服务器并检查工具

在 mcp.json 里找到刚添加的条目,点击旁边的 "play" 图标启动服务器。[1]

启动后,GitHub Copilot Chat 界面里的工具图标会显示更多可用工具,点开就能看到注册的工具列表。列表里每个工具都可以勾选或取消,决定 GitHub Copilot 是否把它当作上下文使用。[1]

截图说明还提到,VS Code 提供了引导式的 MCP 服务器配置、每次代理会话可单独选择工具的界面,以及便于调试 MCP 开发中错误的功能。[1]

工具列表里的勾选状态只影响当前会话中 Copilot 是否使用该工具,不会改变服务器本身。截图说明中把这一功能称为每次代理会话的工具选择。[1]

第四步:用自然语言调用工具

调用工具的方式是输入一条与某个工具描述相符的提示。例子是 "add 22 to 1",预期的回答是 23。[1] 回答出现在 Copilot Chat 的对话里。例子只检验了一次加法,读者可以换成自己服务器的工具来测试,逐个确认提示和返回结果对得上。这一步做完,服务器才算真正接入了编辑器。

如果工具没有被调用,先回到工具列表,确认它处于勾选状态,再检查服务器是否仍在运行。这两点是步骤所隐含的检查项,对照上面的流程逐一核对即可。

常见问题和限制

  • 服务器没有启动。 启动命令写错,服务器就不会列出工具。在"配置服务器"这一节说明,换一种运行时时只需要改 command 和 args,因此先确认这两项的命令能在终端里单独跑通。启动失败时,可以先在终端里运行同样的 command 和 args,看看报错来自服务器本身还是来自 VS Code 的配置。[1]
  • 工具没有被用到。 工具列表里每个工具都可以单独勾选,没有勾选的工具不会被 Copilot 当作上下文。[1]
  • 提示没有触发工具。 用一句与工具描述相符的提示来调用工具。如果没有触发,先对照工具列表里的描述和提示的用语,再确认该工具处于勾选状态。[1]
  • 密钥不要写死在配置里。 建议通过 inputs 向用户索取 API 密钥之类的值,而不是直接写进文件。[1]
  • 没有讨论网络环境和账号配置, 本文也不展开。读者需要按自己的环境准备 GitHub Copilot 的使用条件。

下一步

还提供了 TypeScript、Python、Java、.NET 和 JavaScript 版本的计算器示例,可以拿来在 VS Code 里做对照实验。[1]

小结把 VS Code 描述为能同时接入多个 MCP 服务器及其工具的客户端,GitHub Copilot Chat 则是与服务器交互的界面。学习时可以把几个服务器条目写进同一个 mcp.json,逐个启动、勾选工具,比较它们提供的能力。[1]

本文改编自 Microsoft 开源课程 *mcp-for-beginners* 入门部分第 4 课《Consuming a server from GitHub Copilot Agent mode》[1],原文以 MIT 许可证发布。

来源

  1. 1
    Consuming a server from GitHub Copilot Agent modeMicrosoft mcp-for-beginners (MIT)

引用本页: 在 VS Code 里使用 MCP 服务器. TellWorld, https://www.tellworld.net/zh/practice/practice-mcp-vscode. 更新于 2026-11-14

相关动态