构建MCP服务器简单,但让它正常运行却困难重重

模型上下文协议(MCP)构建简单,但在生产环境中成功运用需要更多努力。MCP虽然能快速连接大语言模型与数据库,但这种速度实际上是一种风险。企业面临五大挑战:安全风险、工具过载、扩展性限制、测试与生产环境差距以及治理合规问题。专家建议采用身份控制、限制工具访问、加强协调机制、缩小代理任务范围和构建安全护栏等解决方案。

模型上下文协议(MCP)的吸引力之一在于构建起来极其简单。然而,成功使用MCP——这个连接AI助手与数据源和外部工具的开放标准——却需要更多的努力。

"连接很容易,"Arya Health的首席工程师Anand Chandrasekaran说道,"但在生产环境中存活下来却很难。"

尽管MCP能够极快地将大语言模型连接到数据库,但Chandrasekaran表示,这种速度并不是胜利,实际上是一种风险。"实施速度通常与被利用的速度成正比,"他解释说。换句话说,容易做但使用起来有风险。

CIO们的回报在哪里,他们又该如何实现?

Salesforce首席开发者倡导者Mohith Shrivastava解释说,虽然MCP对企业来说具有相当大的潜力,但实现其全部潜力并不简单。

"智能体AI已经在快速概念验证工作和从零到一的构思中证明了其价值,"他说。"然而,将这些强大的工作流程从独立工作站转移到实时生产环境中充满了挑战。"

MCP服务器的希望是为AI智能体提供更好的安全性、治理和基础设施。然而现实情况稍有不足,他指出,MCP还未达到企业级准备状态。不过,相关工作正在进行中,以帮助克服MCP的不足。

"远程MCP的真正力量通过集中式'智能体网关'实现,这些服务器在其中注册和管理。这种模式提供了企业所需的基本护栏,"Shrivastava说。

话虽如此,智能体网关也有其自身的注意事项。

"虽然网关提供安全性,但管理由数十甚至数百个注册MCP工具组成的日益增长的生态系统引入了新的挑战:编排,"他说。"最可扩展的方法是添加另一层抽象:基于'要完成的工作'将工具链组织成'主题'。"

已经发展出平台和生态系统来协助解决这个问题,包括Salesforce的Agentforce和AgentExchange等。虽然这些步骤有所帮助,但仍有问题需要解决和障碍需要克服。以下是实施MCP时需要关注的五大问题及其解决方案。

即插即祈:解决MCP连接中的安全风险

MCP的即插即用特性已经成为"即插即祈"问题,Chandrasekaran说。"MCP只是标准插头;它处理连接,而不是防病毒或浪涌保护,"他说。

解决方案:解决方案在于代理(OBO) Token模式,确保智能体在严格的身份控制下运行,而不是通用服务账户——据Chandrasekaran说,这是一个"巨大的风险"。

"当我与智能体聊天时,它应该获取我的SSO Token并将其交换为模拟我确切身份的下游智能体Token。如果我失去了对GitHub仓库的访问权限,智能体的OBO Token也应该立即失去访问权限,"Chandrasekaran解释说。"机器人只是我的数字延伸;它不是一个独立的超级用户。"

工具过载:管理大语言模型对外部工具的访问

另一个主要问题是大语言模型工具过载,这增加了"幻觉和误用的风险",实时流式开源图数据库Memgraph的CEO Dominik Tomicevic说。

"当大语言模型通过协议被授予访问多个外部工具的权限时,存在很大风险,它可能选择错误的工具、误用正确的工具,或变得困惑并产生无意义或不相关的输出,无论是通过经典幻觉还是不正确的工具使用,"他解释说。

解决方案:Tomicevic建议在两个层面限制工具访问。

"为了减轻这种情况,CIO应该在策略层面,只为每个任务暴露最相关的工具,最大限度地减少潜在的混乱;根据即时任务需求动态启用或禁用工具;并鼓励将复杂目标分解为更小的子任务,每个子任务都配备精选的选项集,"他说。

"在实施层面,开发者应该提供关于每个工具功能、其约束和可访问数据的丰富上下文,并执行最小权限访问和强护栏,"Tomicevic补充说。

多智能体交通堵塞:MCP环境中的扩展挑战

MCP的扩展限制也呈现出巨大障碍。扩展限制存在"因为协议从未被设计来协调大型分布式智能体网络,"Kamiwaza AI的现场CTO和技术布道师James Urquhart说。

MCP在小型受控环境中运行良好,但"它假设智能体之间有即时响应,"他说——一旦系统增长且"多个智能体争夺处理时间、内存或带宽"时,这是不现实的期望。

没有内置的队列、调度或结构化消息传递,"智能体可能会压垮共享资源,创建不可预测的行为并产生不一致的性能,"他说。

解决方案:不要放弃MCP——加强协议和围绕它的编排基础设施。

"企业应该添加明确的调度、优先级和队列机制来防止智能体混乱地竞争资源,"Urquhart说。"他们还应该引入共享元数据模型、模式和协调API,在系统间执行可预测的交互模式。"

生产差距:弥合测试和实时系统之间的差距

据Cozmo AI联合创始人兼CTO、Y Combinator创始人Nuha Hashem说,MCP最大的挑战可能是工作服务器和工作系统之间的差距。她解释说,可靠性取决于每个请求是如何形成的,以及访问规则在实时流量下如何表现。

"AI智能体需要一个狭窄的提示和定义的范围,否则它开始猜测意图。那种猜测是受监管团队遇到麻烦的地方,因为结果缺乏指导安全步骤所需的政策上下文。服务器可能响应,但决策在审查时可能站不住脚,"Hashem解释说。

至少这个问题是可识别的。"当MCP系统漂移时,模式几乎总是相同的,"她说。不可避免地,智能体拉取的数据超过了任务所需,回复失去了焦点。

"审查需要更长时间,人们更难看出为什么系统朝某个方向发展,"她说。

解决方案:Hashem建议缩小智能体任务的范围。"团队通过将智能体限制在数据的小片段并要求简短回复来做到这一点。这给公司一个更清晰的视角,了解询问了什么和返回了什么,这是保持工作可管理的部分,"Hashem说。

安全性——什么安全性?加强MCP治理和合规性

通过MCP向智能体暴露内部数据是一个令人毛骨悚然的练习。

"MCP本身不理解权限边界、血统、合规约束或数据最小化要求,"思科系统首席工程师和产品架构师Nik Kale说。确实,一旦智能体访问您的内部系统,就无法知道它在那里会做什么。

"您必须担心它是否拉取了正确的数据、正确数量的数据,以及它是否以符合监管或审计期望的方式这样做,"Kale说。

简而言之,MCP是有前途的,但企业应该认识到它还不是企业级准备的抽象,他解释说。"只有当被MCP本身不提供的治理、安全和弹性层包围时,它才变得强大,"他说。

呼应本文中其他专家的观点,Kale也强调构建MCP是容易的部分。"困难的部分是构建使AI智能体在规模上表现可预测和安全的护栏,"他说。

虽然安全专业人员正在努力保护MCP服务器,但这项任务远未完成。不幸的是,对于这个问题没有简单或现成的解决方案。

谨慎前进

MCP为连接AI智能体与工具和数据提供了巨大潜力,但其速度和简单性带来了重大风险。

Endor Labs的安全研究员Henrik Plate解释说,开发者经常依赖敏感API,这需要严格控制以防止MCP安全漏洞。CVE数量的增加——公开披露的安全缺陷——以及恶意MCP服务器的出现强调了谨慎的必要性,他说,建议"这项技术的采用不能匆忙,而应该遵循常见的安全最佳实践,特别是在企业环境中。"

Q&A

Q1:什么是MCP?它的主要作用是什么?

A:MCP是模型上下文协议(Model Context Protocol)的缩写,是一个连接AI助手与数据源和外部工具的开放标准。它能够让大语言模型快速连接到数据库和各种外部工具,但虽然构建简单,在生产环境中安全稳定运行却面临诸多挑战。

Q2:为什么说MCP在生产环境中使用困难?

A:主要原因包括安全风险大、缺乏企业级治理、工具过载导致AI智能体选择错误工具、多智能体环境下的扩展挑战、以及测试与实际生产系统间的差距等问题。MCP本身不提供权限管理、合规约束等企业必需的安全机制。

Q3:如何解决MCP的安全问题?

A:专家建议采用代理Token模式确保智能体在严格身份控制下运行、限制工具访问权限、添加调度和队列机制、缩小智能体任务范围、建立治理和安全层等。关键是要谨慎采用,遵循安全最佳实践,不能因为构建简单就匆忙部署。

来源:InformationWeek

0赞

好文章,需要你的鼓励

2025

12/04

08:18

分享

点赞

邮件订阅