mcpField
M
MCP Server - VSCode Tutorial

MCP Server - VSCode Tutorial

本地服务
github.com/msalemor开发工具672 周前更新

关于 MCP Server - VSCode Tutorial

这是一个在 Visual Studio Code 中构建并运行 Go 与 Node MCP 服务的教程,面向使用 GitHub Copilot Agent mode 的开发者。内容涵盖服务器部署、配置及通过 Agent 调用工具。

主要功能

  1. 01构建 Go MCP 服务
  2. 02部署 Node MCP 服务
  3. 03配置 VS Code MCP 服务器
  4. 04通过 Agent 测试工具

适用场景

  1. 01在 VS Code 中测试 MCP 服务
  2. 02调用工具读取表结构
  3. 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 服务
  • 克隆此仓库
  • 切换到目录: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 模式

  • README 配图

  • 在 Agent 窗格中,点击 Tools

  • 在顶部弹出菜单中,点击 + Add More Tools

  • README 配图

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

  • README 配图

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

  • README 配图

  • 在要运行的命令中,粘贴 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": []
        }
    }
}
  • 启动服务
  • README 配图
  • VSCode 应显示 5 个工具(如果你没有添加其他工具)

部署 Node 服务

  • 打开 .vscode/mcp.json 文件
  • 按如下所示添加 Node 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", // 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"
            ]
        }
    }
}

运行服务

  • 确保两个服务都在运行
  • MCP 配置中服务运行的状态
  • 如果它们没有运行,请点击启动

测试服务

  • 创建名为 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
结果

两个服务的结果

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

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