现已发布!阅读关于 11 月新增功能和修复的内容。

在 VS Code 中添加 MCP,超越工具的界限

2025 年 5 月 14 日,作者:Harald Kirschner

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

我们的第一个尝试遵循了 VS Code 熟悉的模式:通过工具聊天参与者 API 进行扩展。考虑到生态系统中已经存在数千个扩展,这似乎是合乎逻辑的,但行业正迅速朝着一个新标准发展:模型上下文协议(MCP)。MCP 最好的理解方式是,它是一种以一致的方式将 AI 代理连接到各种外部工具和服务的协议,就像 HTTP 标准化 Web 通信一样。目标是让任何客户端,而不仅仅是 VS Code,能够插入数据库、代码搜索和部署系统等强大的工具服务器,并让它们“正常工作”。

转向 MCP 几乎在一夜之间解锁了更广阔的生态系统。现在,VS Code 用户可以利用Playwright MCP Server进行前端验证,GitHub MCP Server进行存储库洞察和拉取请求,或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 等其他客户端的配置。

Add MCP Server commands in VS Code

安全性是另一个重点。管理 MCP 服务器的密钥不应意味着将密码提交到源代码管理。我们增加了对输入变量的支持,这些变量会提示您一次,然后安全地加密和存储密钥,并支持引用您已经信任的用于本地开发的现有 `.env` 文件。这使得团队能够安全地共享和审查配置。

GitHub MCP Server with safely stored PAT using input variables

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

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

旅程并未止步于实现工具的基本兼容性。MCP 的许多价值来自于其规范中的更深层功能。这些功能在完全支持时,能够使工具更具上下文感知性、自适应性和鲁棒性。

例如,对**根目录**的支持使 MCP 服务器能够理解您工作区的结构。服务器会预先收到工作区文件夹列表,而无需向用户询问文件夹路径或依赖于配置,从而能够根据手头的项目定制工具。这使得可以实现诸如查找整个单体仓库中的所有 TODO,或基于检测到的基础设施文件激活部署工具等用例。

**动态工具发现**允许服务器动态更改可用工具集。服务器可以根据上下文或项目状态调整工具,而不是静态列表—例如,随着工作流程的进展显示不同的操作,或显示与代码库中检测到的框架相关的工具。这可以保持代理功能的有效性并避免混乱。有关实际使用的信息,请查看 TypeScript SDK 的动态服务器示例或 GitHub MCP Server 中的动态工具集发现功能。

上次的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 上的参考服务器

我们很期待看到您将构建什么—以及随着生态系统的扩展,代理工作流程将如何演变。

编码愉快!

© . This site is unofficial and not affiliated with Microsoft.