本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

除了工具,在 VS Code 中添加 MCP

2025年5月14日 由 Harald Kirschner

当我们第一次在 VS Code 中引入代理模式时,它通过聊天开辟了与代码和工作区互动的新方式。你可以要求代理检查文件、运行构建,甚至调试测试。但是,你受到训练模型和工作区内容的限制。因此,下一步很明确:我们需要一种方法,让代理能够超越这些界限,并以安全、用户控制的方式与真实的外部服务互动。

我们的第一次尝试遵循了熟悉的 VS Code 模式:通过 工具聊天参与者 API 实现可扩展性。考虑到生态系统中已经存在的成千上万的扩展,这似乎是合理的,但行业正迅速向新的标准过渡: 模型上下文协议 (MCP)。MCP 最好被理解为一种协议,通过一致的方式将 AI 代理连接到广泛的外部工具和服务,就像 HTTP 标准化了网络通信一样。目标是让任何客户端(不仅仅是 VS Code)能够插入强大的工具服务器,如数据库、代码搜索和部署系统,并使其“自动工作”。

这种向MCP的转变几乎一夜之间解锁了一个更广泛的生态系统。现在,VS Code用户可以利用像Playwright MCP服务器进行前端验证,GitHub MCP服务器获取仓库洞察和拉取请求,或者Context7用于更智能的API使用。服务器列表继续增长,MCP迅速成为跨AI代理的其他功能的基础。

让MCP为每个人服务:应用VS Code的设计原则

VS Code 的设计哲学一直专注于使强大的功能易于使用、默认安全,并给予用户明确的控制。这些相同的原理指导了我们的 MCP 集成。

之前使用MCP服务器意味着将JSON块复制到配置文件并管理命令行标志。我们希望简化这一过程:通过MCP: Add Server命令,您可以从包管理器(NPM、PyPI、Docker)设置服务器,并让VS Code处理其余部分。网站甚至可以提供一个‘在VS Code中安装’按钮,以进一步简化注册过程,并且VS Code在可能时自动发现其他客户端(如Claude Desktop)的配置。

在 VS Code 中添加 MCP 服务器命令

安全性是另一个主要关注点。管理MCP服务器的密钥不应意味着将密码检入源代码控制。我们增加了对输入变量的支持,这些变量会在首次提示后加密并安全存储密钥,并且可以引用现有的环境变量文件您已经信任的文件用于本地开发。这使团队能够更安全地共享和审查配置。

GitHub MCP 服务器使用输入变量安全存储 PAT

用户控制是体验的核心。通过工具选择器,您可以决定在给定会话中代理可以访问哪些工具,并查看清晰的描述和控制。对于开发或调试服务器的人来说,VS Code 显示日志并使启动、停止和重新启动服务器变得简单。这些细节使 MCP 不仅功能强大,而且对终端用户和服务器开发人员都易于使用。

超越基础:更丰富的MCP功能

这段旅程不仅仅是实现工具的基础兼容性。MCP的价值很大一部分来自于其规范中的深层功能。这些功能在完全支持时,使工具更加上下文相关、适应性和健壮。

例如,roots 支持让 MCP 服务器理解您的工作区结构。与其要求用户输入文件夹路径或依赖于配置,服务器一开始就会收到工作区文件夹的列表,从而能够根据当前项目定制工具。这使得像在一个 monorepo 中查找所有 TODO,或根据检测到的基础设施文件激活部署工具等用例成为可能。

动态工具发现 使服务器能够在运行时动态更改可用工具集。服务器不再依赖静态列表,而是可以根据上下文或项目状态来调整工具——例如,当工作流程进展时显示不同的操作,或者显示与代码库中检测到的框架相关的工具。这使代理的能力保持相关性,避免混乱。有关真实用法,请参阅 动态服务器示例 ,来自 TypeScript SDK 或 动态工具集发现 功能在 GitHub MCP 服务器中。

最近的VS Code更新还增加了对工具注释的支持,这有助于服务器为工具提供有用的元数据,例如工具的可读名称或提示是否应在只读模式下运行工具。这些细节改善了代理的行为和用户的理解。

最后,可流式传输的HTTP现在作为MCP规范中的最新传输协议被支持。这使得远程服务器集成更加顺畅和可扩展,特别对于云托管或无服务器工具提供商。

我们的目标是支持 VS Code 中的最新 MCP 功能,以便用户能够从丰富的 AI 体验中受益,并且服务器开发人员可以自信地实现这些功能。

培育生态系统:合作与未来计划

MCP 现在为 GitHubPlaywrightAzurePerplexity 提供官方服务器,生态系统正在不断扩展。使 VS Code 独特的不仅仅是早期采用,而是对基于规范的工程的承诺。通过密切关注 MCP 规范并在 授权发现安全 方面贡献改进,我们正在帮助塑造该协议的成熟,确保生态系统中的创新使每个人受益,而不仅仅是 VS Code 用户。

展望未来,我们正在积极努力为VS Code实现即将到来的MCP规范中的支持,包括授权提示资源采样。这些添加将在产品中引入更丰富和更灵活的代理集成。

如果你正在开发开发者工具或基础设施,MCP 现在是一种实用且开放的方式,使它们能够被 VS Code 及其扩展中的 AI 代理访问。无论你是想使用现成的服务器还是创建自己的服务器,体验都应该是既强大又简单。

要开始,请查看 ModelContextProtocol.ioVS Code MCP 文档,或 GitHub 上的参考服务器

我们期待看到你将创建什么,并随着生态系统扩展,代理工作流程将如何演变。

祝你编码愉快!