关于 MCP Server - VSCode Tutorial
这是一个在 Visual Studio Code 中构建并运行 Go 与 Node MCP 服务的教程,面向使用 GitHub Copilot Agent mode 的开发者。内容涵盖服务器部署、配置及通过 Agent 调用工具。
主要功能
- 01构建 Go MCP 服务
- 02部署 Node MCP 服务
- 03配置 VS Code MCP 服务器
- 04通过 Agent 测试工具
适用场景
- 01在 VS Code 中测试 MCP 服务
- 02调用工具读取表结构
- 03根据表结构生成 Go 类型
MCP 相关
教程展示如何将 Go 和 Node MCP 服务配置到 Visual Studio Code,并由 GitHub Copilot Agent mode 使用其工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
教程:在 Visual Studio Code 中运行两个 MCP 服务
本教程将介绍如何构建并部署一个 Go MCP 服务、部署一个 Node MCP 服务,并使用 Visual Studio Code 作为 MCP 客户端。
概述
截至 2025 年 4 月,大多数 MCP 教程和演示目前都针对 Claude Desktop 应用。不过,如果你使用带 Agent 模式的 GitHub Copilot,也可以使用 Visual Studio Code 作为 MCP 客户端进行开发和测试。
MCP 服务使用多种语言编写。本指南实现了两个 MCP 服务:一个用 Go 编写,另一个用 Node(bun.sh)编写。Go MCP 服务基于 mcp-go 包,代码取自该包仓库中的一个示例。Node 包是我正在开发的,用于获取表结构。
什么是 MCP 服务
MCP(Model Context Protocol)服务是一种轻量级程序,旨在通过标准化的 Model Context Protocol 提供特定功能。该协议允许应用安全、高效地为大语言模型(LLM)提供上下文。
可以将 MCP 服务视为连接大语言模型与各种本地和远程数据源及工具的桥梁。它们使大语言模型能够以受控的方式访问文件、数据库、API 和其他服务并与之交互。这让构建复杂工作流以及将 AI 模型与不同系统集成变得更加容易。
参考资料:
要求
- Visual Studio Code
- 带 Agent 模式的 Github Copilot
- 具备一些 Go 知识并已安装 Go
- 具备一些 Node 知识(或 bun.sh 知识)并已安装 Node 或 bun
在 Windows 中构建和部署服务
构建 Go 服务
MCP Go 包
在我的测试中,我使用了以下示例代码:
- Go 包:
mcp-go - 服务代码:mcp-go/examples/everything
构建 Go 服务
- 克隆此仓库
- 切换到目录:
server - 获取所需的包:
go mod tidy - 构建 MCP 服务:
go build . - 复制完整的可执行文件路径:
C:\Users\user\git\msalemor\mcp-vscode-tutorial\go-server\mcpgo.exe
部署 Go 服务
-
打开 Github Copilot Chat
-
将 Copilot 切换到 Agent 模式
-

-
在 Agent 窗格中,点击 Tools
-
在顶部弹出菜单中,点击
+ Add More Tools -

-
在顶部弹出菜单中,点击
+ Add MCP Server -

-
在顶部弹出菜单中,选择
Command (stdio) -

-
在要运行的命令中,粘贴 Go 可执行文件的完整路径
-
为服务指定任意名称
-
将 MCP 配置保存为用户(全局)或工作区(仅适用于此项目)设置
-
如果选择工作区,Visual Studio 将在
.vscode/mcp.json生成以下设置
{
"servers": {
"mcpgo1": {
"type": "stdio",
"command": "C:\\Users\\user\\git\\msalemor\\mcp-vscode-tutorial\\go-server\\mcpgo.exe",
"args": []
}
}
}
- 启动服务

- VSCode 应显示 5 个工具(如果你没有添加其他工具)
部署 Node 服务
- 打开
.vscode/mcp.json文件 - 按如下所示添加 Node
bun-serverMCP 配置: -
注意:我使用 bun.sh,而不是 node
{
"servers": {
"mcpgo-server": {
"type": "stdio",
"command": "C:\\Users\\user\\git\\msalemor\\mcp-vscode-tutorial\\go-server\\mcpgo.exe",
"args": []
},
"bun-server": {
"type": "stdio",
"command": "bun", // change to Node if using node and do not add this comment
"args": [
"run",
"C:\\Users\\user\\git\\msalemor\\mcp-vscode-tutorial\\node-server\\index.ts"
]
}
}
}
运行服务
- 确保两个服务都在运行

- 如果它们没有运行,请点击启动
测试服务
- 创建名为
types.go的文件 - 确保该文件处于 Agent 上下文中
- 在 Agent 中输入:
Get the table schema for users. Create a structure for the schema. Notify the user when done.
预期结果
服务正在运行
从截图中可以看到,MCP 服务正在运行,并且 VSCode 中注册了 6 个工具。我们还可以看到,Agent 使用了两个工具,根据 users 表结构创建了一个 Go types.go 文件。

示例查询和结果
- 在 Agent 窗口中输入:
Get the table schema for users. Create a structure based on the schema. Notify the user when done. - 按 Enter
结果

评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。