Skip to content

在 VSCode 中使用 MCP

Visual Studio Code (VSCode) 是一款高度可扩展的代码编辑器。通过扩展,模型上下文协议 (Model Context Protocol, MCP) 可以集成到 VSCode 中,从而在这款流行的集成开发环境 (Integrated Development Environment, IDE) 中直接实现更丰富的 AI 辅助编程体验和更具上下文感知能力的工具。

通过开发一个可作为 MCP 主机或客户端的扩展,可以将 MCP 的优势引入 VSCode。这样的扩展将连接 VSCode 的环境与 MCP 生态系统。

以下是 MCP 在 VSCode 中可能的工作方式:

  • VSCode 作为 MCP 主机:扩展可以允许 VSCode 管理到各种 MCP 服务器的连接。这需要提供一个用户界面 (User Interface, UI),供用户添加和配置“MCP 根连接”(服务器地址和凭据)。
  • 访问项目上下文:该扩展可以通过嵌入式 MCP 服务器暴露 VSCode 工作区的信息(例如,打开的文件、项目结构、Git 状态、调试信息)。这将允许其他 MCP 客户端甚至大型语言模型 (Large Language Model, LLM)(通过编排器)向 VSCode 查询上下文。
  • 使用 MCP 资源和工具:更常见的情况是,VSCode 扩展将充当 MCP 客户端。它可以连接到外部或本地 MCP 服务器(例如,文件系统服务器、GitHub 服务器、自定义数据库服务器)来获取信息或触发操作。这些数据随后可用于:
    • 增强智能感知 (IntelliSense):提供更具上下文关联性的代码补全或建议。
    • 为 AI 聊天机器人/副驾驶提供支持:向嵌入在 VSCode 中的 AI 助手提供信息,使它们能够更好地理解项目并提供更准确的帮助。
    • 填充自定义视图:在 VSCode 中的自定义面板或视图中显示来自 MCP 服务器的信息(例如,显示来自支持 MCP 的缺陷跟踪器的问题列表)。
    • 自动化工作流:将 MCP 服务器暴露的工具作为 VSCode 任务或命令的一部分触发。

例如,在 VSCode 中处理项目的开发人员可以拥有一个连接到多个 MCP 服务器的 MCP 扩展:

  • 一个文件系统 MCP 服务器,提供对项目文件的访问。
  • 一个Git MCP 服务器,暴露仓库的历史记录和分支。
  • 一个Jira MCP 服务器(如果存在或自定义构建),提供有关当前任务和问题的信息。

VSCode 中的 AI 助手,与此 MCP 扩展集成后,随后可以回答诸如“与问题 JIRA-123 相关的 main.py 最近有哪些更改?”的问题,方法是通过 MCP 从所有相关服务器获取上下文。

  • MCP 服务器管理:一个用于添加、编辑和删除 MCP 服务器连接 (MCP 根连接) 的用户界面。
  • 为 LLM 提供上下文信息:基于当前活动文件或选定代码,自动从连接的 MCP 服务器收集上下文以提供给 LLM。
  • 命令面板集成:将 MCP 服务器工具和提示作为命令暴露在 VSCode 命令面板中。
  • 自定义数据视图:在 VSCode 侧边栏或面板区域的专用视图中渲染来自 MCP 服务器的资源。
  • MCP Inspector 集成:可能会嵌入或链接到 MCP Inspector 工具,用于调试 MCP 通信。

这种扩展的开发可能会使用 MCP TypeScript SDK 进行客户端交互,并利用 VSCode 丰富的扩展 API 将这些功能集成到编辑器的用户界面 (UI) 和命令系统中。

通过集成 MCP,VSCode 可以成为一个更加强大的开发中心,无缝连接本地编码环境与各种外部数据源和 AI 功能,所有这些都通过标准化协议进行编排。