对于广大 VS Code 用户而言,编辑器就是开发世界的中心。但当 AI 助手如 Goose、Claude 等只能在对话窗口中“谈论”代码,却无法直接操控编辑器本身时,一道无形的高墙始终横亘在人与 AI 之间。VS Code MCP Server 的出现正是在拆除这堵墙。它通过模型上下文协议,让 AI 代理获得了与 VS Code 直接交互的能力——打开文件、展示差异、管理项目,使 AI 成为编辑器中一个真正能“动手”的协作者。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | VS Code MCP Server |
| GitHub 地址 | 由 Block, Inc. 开发,托管于腾讯云 MCP 广场 |
| 项目描述 | 通过 MCP 协议让 AI 代理与 VS Code 交互,支持打开文件、创建差异、管理项目等操作 |
| 作者 | Block, Inc. |
| 开源协议 | Apache License 2.0 |
| 开源状态 | 公开状态 |
| Languages | TypeScript |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2025-05-14 |
一、项目介绍
VS Code MCP Server 是一个由 Block, Inc. 开发的轻量级 MCP 服务器,其核心定位非常清晰:成为 AI 助手操作 VS Code 编辑器的标准协议接口。
核心工具集
该项目提供了 6 个 MCP 工具,覆盖了 AI 与编辑器交互的关键场景:
| 工具 | 功能 | 安全机制 |
|---|---|---|
create_diff | 创建并显示文件修改的差异预览 | 需要在 VS Code 中由用户手动批准后才会应用 |
open_file | 在 VS Code 编辑器中打开指定文件 | 用于查看新文件或已修改的文件 |
open_project | 在 VS Code 中打开项目文件夹 | 为 AI 代理设置工作目录上下文 |
check_extension_status | 检查 MCP 扩展是否安装且响应正常 | 诊断连接问题时的首选工具 |
get_extension_port | 获取 VS Code MCP 扩展的端口号 | 用于高级配置和调试 |
list_available_projects | 从端口注册文件中显示最近打开的项目列表 | 快速切换工作上下文 |
项目结构
这是一个典型的 monorepo 架构,包含两个部分:
- server/:MCP 服务器实现,负责与 AI 客户端通信并处理工具调用。
- extension/:配套的 VS Code 扩展,运行在编辑器内部,执行实际的编辑器操作。
这种 Server + Extension 的双组件架构保障了安全的沙箱机制:AI 的指令先到达 MCP 服务器,服务器再通过本地 socket 与扩展通信。扩展在编辑器内部执行实际操作,关键操作(如文件修改)会触发用户批准流程。
二、核心优势
安全至上的差异工作流
create_diff 工具是本项目最大的亮点。它避免了 AI 直接、不可见地修改文件的风险,而是先生成一个差异预览显示在 VS Code 中,等待开发者手动审查和批准后才应用更改。这与代码审查流程自然契合,消除了 AI “乱改代码”的安全顾虑。
极简安装,一键启用
通过 npx vscode-mcp-server install 一条命令就能完成服务器安装。配合 VS Code 扩展,整个配置流程极为流畅,几分钟即可完成从零到可用的全过程。
机构级信任背书
项目由 Block, Inc.(前身为 Square, Inc.)开发并以 Apache 2.0 协议开源。与个人或小团队维护的项目相比,这代表了可靠的长期维护承诺和企业级代码质量。
清晰的职责分离
服务器处理协议和通信,扩展负责编辑器操作。这种解耦使得两个组件可以独立更新、独立调试,也方便用户在升级 VS Code 版本时只需要更新扩展部分。
三、适用场景
AI 辅助的代码修改与审查
用户让 AI 优化一段代码。AI 生成修改后,不是直接替换文件,而是调用 create_diff 在 VS Code 中展示变更差异。开发者审查确认后批准应用——整个流程与标准的 Code Review 一致。跨文件的智能导航
AI 在分析代码时,可以调用 open_file 自动打开它正在讨论的源文件,开发者可以直接在编辑器中查看上下文,不必手动在文件树中查找。项目上下文的快速切换
在多项目之间切换时,AI 可以调用list_available_projects列出最近打开的项目,然后调用open_project直接切换工作区。这对于同时维护多个微服务的开发者尤其高效。
扩展诊断与健康检查
当 AI 助手无法正常与编辑器交互时,开发者可以让 AI 运行 check_extension_status 进行自我诊断,快速定位是扩展未安装还是连接端口出了问题。四、安装教程
环境要求
| 工具 | 用途 | 下载/安装方式 |
|---|---|---|
| Node.js | 运行环境 | >= 16.x |
| VS Code | 代码编辑器 | 需安装配套扩展 |
| npx | 运行 MCP 服务器 | 通常随 Node.js 一起安装 |
安装步骤
第一步:安装 MCP 服务器
npx vscode-mcp-server install第二步:安装 VS Code 扩展
在 VS Code 扩展市场中搜索并安装 VS Code MCP 扩展(项目 README 提供链接)。
第三步:配置 AI 客户端
Claude Desktop 配置:编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS),添加:
{
"mcpServers": {
"vscode-mcp-server": {
"command": "npx",
"args": ["vscode-mcp-server"],
"env": {}
}
}
}Goose 桌面配置:
- ID:
code-mcp - 名称:
VS Code - 描述:
允许通过模型上下文协议与 VS Code 交互 - 命令:
npx vscode-mcp-server
配置完成后,重启 AI 客户端即可。
五、使用示例
示例一:安全地修改代码
用户:帮我优化src/utils.js中的formatDate函数,让它处理边界情况更鲁棒。
AI 生成修改后,调用 create_diff 工具。VS Code 中会弹出一个差异视图,清晰地对比旧代码和新代码。开发者审查后点击“批准”,修改才会实际应用到文件中。
示例二:跨文件工作流
用户:我正在排查 PaymentService.ts 中的一个 bug,帮我打开这个文件,然后找出所有依赖它的组件。AI 调用 open_file 打开 PaymentService.ts,然后结合其他 MCP 工具(如文件搜索)分析依赖关系,返回结果。开发者全程在 VS Code 中跟随 AI 的操作步骤。
示例三:快速切换项目上下文
用户:我今天需要处理两个项目:api-server和admin-dashboard。先打开api-server。
AI 调用 list_available_projects 列出最近的项目,确认 api-server 在列表中,然后调用 open_project 在 VS Code 中切换工作区。
示例四:诊断连接问题
用户:AI 好像无法和 VS Code 交互了,帮我检查一下 MCP 扩展的状态。
AI 调用 check_extension_status,返回扩展是否已安装、是否正在运行。如果一切正常,还会调用 get_extension_port 确认通信端口。
六、常见问题
问:安装后 AI 提示无法连接到 VS Code 怎么办?
答:这是最常见的连接问题。请按以下步骤排查:
- 检查扩展:确保 VS Code MCP 扩展已安装且正在运行(不是禁用状态)。
- 运行诊断:在 AI 对话中使用
check_extension_status工具,检查扩展是否响应。 - 检查端口:使用
get_extension_port确认端口没有被其他程序占用。 - 重启 VS Code:偶尔扩展启动时序问题,重启编辑器即可解决。
问:create_diff 生成的修改,我必须手动批准吗?能不能完全自动化?
答:当前的批准机制是设计上的安全特性,非缺陷。它确保了开发者对代码变更拥有最终决定权。目前不支持完全自动化跳过批准,未来是否会提供可选的自动批准模式,取决于项目维护者的安全考量。
问:这个工具只支持本地 VS Code 吗?VS Code Server 或 Codespaces 呢?
答:项目基于本地 socket 通信,主要针对本地 VS Code 实例。在远程开发环境(如 SSH、Codespaces)中使用可能需要额外的网络配置,目前未提供官方支持文档。
问:为什么需要同时安装 MCP 服务器和 VS Code 扩展?
答:两者分工不同。MCP 服务器负责与 AI 客户端通信(理解 AI 的指令),VS Code 扩展负责在编辑器内执行实际操作(打开文件、显示差异)。这种解耦设计让每个组件可以独立更新,也更安全——AI 不能直接调用编辑器 API,必须通过扩展中的安全控制层。
七、总结
VS Code MCP Server 是一个设计精巧、职责清晰的工具。它没有试图做太多事情,而是精准地解决了 AI 协作中的核心痛点:如何让 AI 安全、可控地操作我们每天使用的编辑器。通过差异工作流和手动批准机制,它在效率和安全之间找到了一个务实的平衡点。
对于 VS Code 用户而言,这个项目将 AI 从对话窗口“请进了”编辑器本身,让 AI 真正成为能动手的协作者。花几分钟完成安装,你会立刻感受到那种“AI 终于能直接帮我做事”的流畅感。
差异工作流让AI像一位提交PR的开发同事,而不是不可控的黑箱。
这个工具让我第一次感到AI不是“外部”的,而是真正融入编辑器了。
扩展的端口注册机制设计得不错,适合本地多实例隔离。
如果未来能支持Code Actions(快速修复)和重构命令会更全面。
有些MCP工具过于庞大,这个反其道而行之,精准且克制。