为什么MCP服务器必须被保护:来自微软的第一手实践

AI PM 编辑部 · 2025年06月20日 · 1 阅读 · AI/人工智能

正在加载视频...

视频章节

这场由微软MCP指导委员会成员带来的分享,系统解释了为何“受保护的MCP服务器”正在成为必要能力。文章将带你理解本地与远程MCP服务器在安全模型上的根本差异、新规范试图解决的真实痛点,以及微软在VS Code和API Management中的具体落地思路。

为什么MCP服务器必须被保护:来自微软的第一手实践

这场由微软MCP指导委员会成员带来的分享,系统解释了为何“受保护的MCP服务器”正在成为必要能力。文章将带你理解本地与远程MCP服务器在安全模型上的根本差异、新规范试图解决的真实痛点,以及微软在VS Code和API Management中的具体落地思路。

为什么“不是每个MCP服务器都该是开放的”

这个话题之所以重要,是因为MCP(Model Context Protocol)正在快速成为开发者连接工具、IDE和AI能力的基础设施,而基础设施一旦暴露在公网,安全就不再是“以后再说”的问题。Den Delimarsky在开场就点出了核心前提:“not every server should be open”。当开发者把MCP服务器接入Cloud Desktop、VS Code或Visual Studio时,背后往往是需要授权的API,而不是任何人都能随意调用的公共接口。

Den强调,这个问题在“远程MCP服务器”场景下尤为突出。只要服务器暴露在广域网、没有VPN保护,“anybody can access them”。这意味着,如果MCP协议本身不提供一套清晰、可实现的授权机制,开发者就只能各自为政,甚至干脆放弃防护。这并不是一个理论风险,而是协议从“本地实验”走向“生产环境”时必然要面对的现实。

一个容易被忽视的对比是:本地MCP服务器几乎不构成同样的问题。因为它本质上只是“a binary on the box”,运行在用户机器的权限上下文中。正是这种差异,让微软团队在设计规范时,明确把精力集中在远程场景,而不是试图用一套机制覆盖所有情况。

本地 vs 远程:安全模型差异背后的现实逻辑

很多开发者会本能地问:既然远程需要授权,为什么本地MCP服务器不能也统一一套?Den在分享中直接回应了这个疑问,而且理由非常务实。本地服务器是二进制程序,用户已经默认信任它能访问本机资源,再额外叠加复杂的授权流程,反而会降低可用性。

他把这归结为“执行环境决定安全边界”。在本地,攻击面主要来自你自己安装的软件;而在远程,攻击面来自整个互联网。这也是为什么MCP规范在远程服务器上必须严肃对待身份、访问控制和令牌,而在本地场景下更多依赖操作系统本身的安全模型。

这一判断并不“性感”,但极其重要。它意味着MCP并没有追求形式上的一致,而是选择了承认现实差异。这种取舍,也为后续规范的复杂度埋下了伏笔:所有复杂性,几乎都集中在远程服务器上。

新MCP规范想解决的,其实是“没人想当安全专家”

当话题转到规范本身时,Julia Kasper给出了一个非常直白的动机:“not every developer wants to be a security expert”。这句话几乎解释了整个“受保护MCP服务器”设计的出发点。

如果协议要求每个实现者都自行设计OAuth、令牌验证、密钥轮换,那结果只有两个:要么做错,要么不做。Julia强调,新规范的目标不是创造更多安全概念,而是让开发者可以“用现成的库”把事情做对。她特别提到,规范的设计正在尽量贴合现有生态,而不是发明一套只存在于MCP世界里的安全机制。

这种思路也体现在他们的演示中:无论是C#示例,还是后面结合VS Code和Azure API Management的场景,重点都不是炫技,而是证明“这件事真的能在现实项目里落地”。对微软团队来说,安全不是附加功能,而是MCP能否进入生产环境的门票。

从演示到生产:VS Code与API Management的现实路径

在分享的后半段,话题逐渐从规范走向工具链。Julia展示了MCP服务器如何与VS Code协作,以及API Management在其中扮演的角色。这一部分的价值在于,它把抽象的“受保护服务器”变成了开发者熟悉的工作流。

VS Code并不是简单地“支持MCP”,而是作为客户端参与到授权流程中,确保调用发生在受控范围内。而API Management则承担了标准化入口的职责,让MCP服务器不必自己实现所有边界控制。这种组合,本质上是把MCP服务器放进现有的企业级安全体系,而不是让它成为例外。

在临近结束时,Den用一句轻描淡写的话总结了现状:“lots of things are changing in this space”。这既是事实,也是提醒——MCP还在快速演进,而安全能力将决定它能走多远、多快。

总结

这场分享的真正价值,不在于某个具体API或代码片段,而在于一个清晰的判断:MCP如果要成为长期基础设施,安全必须是默认能力,而不是可选项。微软团队通过区分本地与远程、降低安全实现门槛、复用既有生态,给出了一个务实答案。对开发者而言,最大的启发或许是:当协议开始认真讨论“授权”和“生产”,它才真正进入了下一个阶段。


关键词: MCP, 受保护的MCP服务器, 微软, VS Code, API Management

事实核查备注: 人物:Den Delimarsky(微软,MCP Steering Committee),Julia Kasper(微软,Azure API Management)。公司:Microsoft。关键概念:MCP服务器、本地 vs 远程服务器、授权、受保护的MCP服务器、新MCP规范、VS Code、Azure API Management。引用原话需核对视频字幕。