通过Visual Studio Code使用Mcp服务
Visual Studio Code 和 GitHub Copilot 可以充当客户端,来消费(使用)一个 MCP 服务器。你可能会问,我们为什么要这样做呢? 原因在于,这意味着 MCP 服务器所具备的任何功能,现在都可以直接在你的集成开发环境(IDE)中使用。 想象一下,例如你为 GitHub 添加了 MCP 服务器,这将允许你通过自然语言提示词来控制 GitHub,而无需在终端中输入特定命令。 或者更广泛地设想,任何能够提升开发者体验的功能,现在都可以通过自然语言来控制。 现在,你开始明白这其中的价值了吧?
本课程讲解如何使用 Visual Studio Code 和 GitHub Copilot 的 Agent 模式作为 MCP 服务器的客户端。
完成本课程后,你将能够:
- 通过 Visual Studio Code 使用 MCP 服务器。
- 使用 GitHub Copilot 运行工具等功能。
- 配置 Visual Studio Code 来发现和管理你的 MCP 服务器。
你可以通过两种方式控制 MCP 服务器:
-
用户界面:稍后我们会在本章中展示如何操作。
-
终端:可以通过
code可执行文件在终端中进行控制:要将 MCP 服务器添加到用户配置文件中,请使用 --add-mcp 命令行选项,并以 JSON 格式提供服务器配置,例如 {"name":"server-name","command":...}。
code --add-mcp "{\"name\":\"my-server\",\"command\": \"uvx\",\"args\": [\"mcp-server-fetch\"]}"
截图


接下来我们将详细讨论如何使用可视化界面。
以下是我们需要采用的高层次方法:
- 配置文件以发现 MCP 服务器。
- 启动/连接服务器以列出其功能。
- 通过 GitHub Copilot 聊天界面使用这些功能。
很好,现在我们了解了流程,接下来通过一个练习尝试在 Visual Studio Code 中使用 MCP 服务器。
在本练习中,我们将配置 Visual Studio Code 来发现你的 MCP 服务器,以便可以通过 GitHub Copilot 聊天界面使用它。
你可能需要启用 MCP 服务器的发现功能。
-
在 Visual Studio Code 中,进入
文件 -> 首选项 -> 设置。 -
搜索 "MCP",并在 settings.json 文件中启用
chat.mcp.discovery.enabled。
首先在项目根目录中创建一个配置文件,你需要创建一个名为 MCP.json 的文件,并将其放置在 .vscode 文件夹中。文件结构如下:
.vscode
|-- mcp.json
接下来,我们看看如何添加服务器条目。
在 mcp.json 文件中添加以下内容:
{
"inputs":[],
"servers": {
"MyFirstMCP":{
"type":"stdio",
"command":"dotnet",
"args":[
"run",
"--project",
"F:\\dht\\SLM\\Source\\MyFirstMCP\\MyFirstMCP.csproj"
]
},
"McpCalculatorServer":{
"type":"stdio",
"command":"dotnet",
"args":[
"run",
"--project",
"F:\\dht\\SLM\\Source\\McpCalculatorServer\\McpCalculatorServer.csproj"
]
}
}
}
上面的示例展示了如何启动一个用 .NET 编写的服务器,对于其他运行时,请指定正确的命令和参数来启动服务器。
现在你已经添加了一个条目,接下来启动服务器:
- 在 mcp.json 文件中找到你的条目,并确保找到 "启动" 图标:

- 点击 "启动" 图标,然后点击该工具图标,你会看到已注册工具的列表。你可以根据需要勾选/取消勾选每个工具,以决定是否让 GitHub Copilot 使用它们作为上下文:

- 要运行工具,请输入一个与工具描述匹配的提示,例如 "add 22 to 1":

- 点击允许,你应该会看到一个响应,显示结果为 23。

关键点总结
本章的重点内容如下:
-
Visual Studio Code 是一款出色的客户端工具,可支持连接多个 MCP 服务器并使用其功能。
-
GitHub Copilot 的聊天界面是与这些服务器交互的主要方式。
-
在
mcp.json文件中配置服务器条目时,可通过提示用户输入 API 密钥等参数,并将其传递至 MCP 服务器。

浙公网安备 33010602011771号