参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

超越工具本身:在 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:添加服务器命令,你可以从包管理器(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 服务器能够理解工作区的结构。服务器无需向用户询问文件夹路径或依赖配置,而是预先收到工作区文件夹列表,从而能够根据手头的项目定制工具。这使得诸如在整个 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 上的参考服务器

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

编码愉快!

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