本教程将指导您构建一个Go语言的MCP服务器并部署它,同时部署一个Node.js的MCP服务器,并使用Visual Studio Code作为MCP客户端。
截至2025年4月,大多数MCP教程和演示都针对Claude桌面应用程序。然而,如果您拥有GitHub Copilot的Agent模式,并且使用Visual Studio Code作为MCP客户端,也可以进行开发和测试。
MCP服务器可以用多种编程语言编写。本指南实现两个MCP服务器,一个是用Go编写的,另一个是用Node(bun.sh)编写的。Go MCP服务器基于mcp-go包,而Go服务器基于该包仓库中的一个示例。Node包是我正在开发的用于获取表结构的工具。
MCP(模型上下文协议)服务器是一种轻量级程序,旨在通过标准化的模型上下文协议暴露特定功能。此协议允许应用程序安全高效地向大型语言模型(LLMs)提供上下文。
可以将MCP服务器视为连接LLMs与各种数据源和工具(本地或远程)的桥梁。它们使LLMs能够以受控方式访问和交互文件、数据库、API和其他服务。这使得构建复杂的流程和将AI模型集成到不同的系统中变得更加容易。
参考资料:
在我的测试中,我使用了以下示例代码:
mcp-goservergo mod tidygo build .C:\Users\user\git\msalemor\mcp-vscode-tutorial\go-server\mcpgo.exe打开GitHub Copilot聊天窗口
将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/mcp.json文件bun-server MCP配置如下:注意:我使用的是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", // 如果使用node,请改为Node,并删除此注释
"args": [
"run",
"C:\\Users\\user\\git\\msalemor\\m-vcodes-tutorial\\node-server\\index.ts"
]
}
}
}

types.go的文件获取用户表结构。根据该结构创建一个结构。完成后通知用户。在截图中,我们可以看到MCP服务器正在运行,并且VSCode中有6个注册的工具。我们还可以看到代理已经使用了两个工具来创建了一个基于users结构的Go types.go文件。

获取用户表结构。根据该结构创建一个结构。完成后通知用户。