企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

VSCode MCP Server:改进开发流程,打造更智能、更能干的AI智能体

wudianyun 2025-04-24 09:22:08 精选文章 12 ℃


作者:Sebastian Petrus | 编译:小兰

模型上下文协议 (Model Context Protocol, MCP) 是一种新的开放标准,它帮助 AI 模型使用通用接口与外部工具、数据源和服务进行交互。当与 VSCode智能体(Agent)模式下的 GitHub Copilot 结合使用时,它允许你的 AI 助手执行真实世界的任务,例如读取文件、调用 API 或与 GitHub 交互——所有这些都通过 MCP 服务器完成。

MCP 在 VSCode 中如何工作?

MCP 遵循 客户端-服务器模型

  • 客户端:VSCode 充当 MCP 客户端。
  • 服务器:任何通过 MCP 兼容服务器暴露的工具或服务。
  • 通信:客户端向服务器发送结构化消息,服务器以操作或数据进行响应。

真实世界示例:

  • 文件系统 MCP 服务器可以读/写文件。
  • GitHub 的 MCP 服务器可以创建拉取请求、管理问题和列出仓库。
  • 服务器可以在本地运行,也可以远程托管。

分步指南:在 VSCode 中设置 MCP 服务器

第 1 步:向 VSCode 添加 MCP 服务器

有几种方法可以将 MCP 服务器添加到 VSCode 中:

使用工作区配置文件

  • 在你的工作区中创建一个 .vscode/mcp.json 文件
  • 选择“添加服务器”(Add Server)按钮为新服务器添加模板
  • VSCode 为 MCP 服务器配置提供 IntelliSense 支持

使用命令面板

  • 运行 MCP: Add Server 命令
  • 选择“工作区设置”(Workspace Settings)在你的工作区中创建 .vscode/mcp.json 文件

使用用户设置为全局访问

  • 打开命令面板并运行 MCP: Add Server
  • 选择“用户设置”(User Settings)以全局添加 MCP 服务器配置

第 2 步:理解 VSCode MCP 服务器配置格式

MCP 服务器配置遵循特定的 JSON 格式:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "api-key",
      "description": "API Key",
      "password": true
    }
  ],
  "servers": {
    "MyServer": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-example"],
      "env": {
        "API_KEY": "${input:api-key}"
      }
    }
  }
}

关键元素是:

  • inputs: 定义配置值的自定义占位符
  • servers: 包含 MCP 服务器列表
  • type: 连接类型(“stdio” 或 “sse”)
  • command: 启动服务器可执行文件的命令
  • args: 传递给命令的参数数组
  • env: 服务器的环境变量

VSCode MCP 服务器连接类型和配置选项

VSCode MCP 服务器的 STDIO 连接

对于标准输入/输出连接:

"MyServer": {
  "type": "stdio",
  "command": "npx",
  "args": ["server.js", "--port", "3000"],
  "env": {"API_KEY": "${input:api-key}"}
}

VSCode MCP 服务器的 SSE 连接

对于服务器发送事件(server-sent events)连接:

"MyRemoteServer": {
  "type": "sse",
  "url": "http://api.example.com/sse",
  "headers": {"VERSION": "1.2"}
}

在 VSCode MCP 服务器配置中使用变量

你可以在配置中使用预定义变量:

"MyServer": {
  "type": "stdio",
  "command": "node",
  "args": ["${workspaceFolder}/server.js"]
}

高级 VSCode MCP 服务器配置示例

这是一个更全面的示例,展示了多个服务器和输入变量:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "perplexity-key",
      "description": "Perplexity API Key",
      "password": true
    }
  ],
  "servers": {
    "Perplexity": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
      "env": {
        "PERPLEXITY_API_KEY": "${input:perplexity-key}"
      }
    },
    "Fetch": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    },
    "RemoteServer": {
      "type": "sse",
      "url": "http://api.contoso.com/sse",
      "headers": {"VERSION": "1.2"}
    }
  }
}

在智能体模式下使用 VSCode MCP 工具

配置好 MCP 服务器后,你可以在 Copilot 的智能体模式下使用它们的工具:

  1. 打开聊天视图(Windows, Linux: Ctrl+Alt+I, Mac: I
  2. 从下拉菜单中选择“智能体”(Agent)模式
  3. 点击“工具”(Tools)按钮查看可用工具
  4. 根据需要选择或取消选择工具
  5. 在聊天输入框中输入你的提示词

当调用工具时,你需要先确认操作才能运行。你可以使用“继续”(Continue)按钮下拉菜单配置 VSCode,为当前会话、工作区或所有未来的调用自动确认特定工具。

管理 VSCode MCP 服务器和工具

查看和管理服务器

从命令面板运行 MCP: List Servers 命令来查看你配置的 MCP 服务器。在此视图中,你可以:

  • 启动、停止或重启服务器
  • 查看服务器配置
  • 访问服务器日志进行故障排除

VSCode MCP 服务器中的工具直接引用

你可以在你的提示词中通过输入 # 后跟工具名称来直接引用工具。这在所有聊天模式(提问、编辑和智能体模式)下都有效。

VSCode MCP 服务器的命令行配置

你可以使用 VSCode 命令行添加 MCP 服务器:

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

VSCode MCP 服务器的问题故障排除

当 VSCode 遇到 MCP 服务器问题时,它会在聊天视图中显示一个错误指示器。要诊断问题:

点击聊天视图中的错误通知 选择“显示输出”(Show Output)查看服务器日志 或者,从命令面板运行 MCP: List Servers,选择服务器,然后选择“显示输出”

常见问题包括:

  • 服务器配置不正确
  • 缺少依赖项
  • 远程服务器的网络连接问题
  • 本地可执行文件的权限问题

创建你自己的 VSCode MCP 服务器

如果你想开发自己的 MCP 服务器,可以使用任何能够处理标准输出(stdout)的编程语言。有几个官方 SDK 可用:

  • TypeScript SDK
  • Python SDK
  • Java SDK
  • Kotlin SDK
  • C# SDK

你的服务器应该实现 MCP 标准,该标准定义了如何发现、调用工具以及如何格式化响应。

VSCode MCP 服务器自动发现和集成

VSCode 可以自动检测并重用在其他工具(如 Claude Desktop)中定义的 MCP 服务器。你可以在 VSCode 设置中使用
chat.mcp.discovery.enabled
设置来启用自动发现。

结论:在 VSCode 中释放 MCP 的力量

模型上下文协议 让你的 AI 助手在 VSCode 内部拥有了在真实世界中的能力——例如运行脚本、管理文件或与 API 交互——所有这些都通过聊天界面完成。

现在你可以:

  • 设置和配置 MCP 服务器
  • 在智能体模式下使用工具
  • 管理和调试服务器
  • 甚至构建你自己的 MCP 兼容工具

探索不同的服务器,调整你的设置,并利用 MCP 的力量改进你的开发工作流程。你的 AI 助手变得更加智能了。

最近发表
标签列表