MCP协议助力大模型连接外部数据,企业级应用前景广阔
快速阅读: 美国AI开发商Anthropic发布MCP协议,使大型语言模型能实时连接外部数据和服务,简化跨平台集成,降低开发成本,已获OpenAI等支持。
大型语言模型(LLMs)是当今许多前沿人工智能应用的核心,它们通过训练数据处理和回应各种提示,无论任务是解决逻辑问题还是编写复杂的代码。LLMs无法“自然地”访问外部数据库、内容存储库和第三方应用程序。将LLMs链接到外部数据过去是一项耗时且需逐案处理的任务。模型上下文协议(MCP)是一种标准的开源AI协议,它为LLMs提供了一个安全的环境,使其能够实时连接外部数据库、工具、软件和服务。MCP充当了一种通用语言,使LLMs能够超越其训练数据。
美国AI开发商Anthropic于2024年11月25日发布了MCP作为开源标准。该公司在博客文章中公布了文档并宣布了MCP,将其比喻为USB Type-C,后者帮助任何设备连接到计算机。金融科技公司Block和应用程序开发平台Apollo GraphQL被列为MCP的早期采用者。此后,Anthropic与开发者工具公司如Zed、Replit、Sourcegraph和Codeium合作,在他们的产品中集成MCP,以实现AI辅助开发。
自发布以来,MCP获得了整个AI生态系统的支持。主要AI企业如OpenAI和Google DeepMind在MCP发布后的六个月内采用了该协议。最近的MCP举措包括微软通过Copilot Plus PC和Windows AI加入了MCP。
### MCP架构
MCP是一种在客户端-服务器架构下工作的AI标准。所有MCP客户端-服务器通信都在传输层通过标准输入/输出(STDIO)、HTTP+安全性和服务器发送事件(SSE)方法进行。
#### MCP主机
MCP主机是一个包含LLM的人工智能应用程序或IDE,它是用户交互的简单接口。
#### MCP客户端
嵌入在主机中的MCP客户端将用户请求转换为标准化格式,并发送给MCP服务器。一个MCP客户端可以轻松连接到多个MCP服务器,同时保持安全的一对一连接。一些连接请求的例子包括:
– 请求数据
– 寻求提示模板
– 访问数据库
– 读取文件
– 执行特定任务
#### MCP服务器
MCP服务器是一个独立的服务、数据库或应用程序编程接口(API),它监听来自MCP客户端的请求,并返回带有请求上下文、数据资源、工具和功能的响应。简而言之,MCP服务器将客户端请求转化为LLM可执行的步骤。
MCP客户端从服务器接收结果,进行翻译,并将结果传递回LLM,从而使LLM获得对外部数据或工具的访问。
### MCP:统一的优势
在企业广泛采用AI应用之初,这些应用是无状态模型。然而,2025年的AI用户要求在整个对话过程中保持上下文,而AI代理需要在不同应用程序和云环境中进行通信。
通过简化跨平台集成,MCP协议使AI在决策上更加出色。
### 解决N x M问题
N x M问题是AI架构中的一个著名难题。N代表AI模型的数量,M代表工具的数量,这两个数字都在不断增长。每个LLM都需要一个新的自定义集成才能与特定的第三方应用程序工作,这通常涉及开发人员手动从API获取数据并注入到LLM中。
由于N x M问题,自定义集成的数量呈指数级增长,这不仅大幅增加了预算,还给工程师带来了显著的开发负担,包括寻求权限、调试等任务。
“多年来,每个AI项目都意味着构建一次性连接器和自定义逻辑来传递上下文,”Storyblok解决方案工程团队经理Facundo Giuliani解释说,“MCP改变了这一点,它提供了一个自然融入组合式和MACH架构的统一标准。它带来了我们已经期望从现代软件开发中获得的模块化和可重用性。”
MCP最适合MACH架构(微服务、API优先、云原生和无头),这些架构需要快速、可插拔和可扩展的第三方工具构建。因为MCP无需进行碎片化的自定义集成,它通过其开源双向客户端-服务器架构提供了数据交换的统一路径。
### 降低工程成本
大多数人工智能工具和供应商提供MCP客户端库,这些库在用户界面中展示所有可供应用程序使用的外部工具。开发人员可以利用这些库中的现有MCP客户端来发现服务器功能,加速开发进程,并降低工程成本。MCP还允许人工智能应用连接到多个集成开发环境(IDE)。通过消除对各自软件开发工具包(SDK)的需求和不同人工智能应用的自定义集成,企业节省了工程成本。
大型语言模型(LLM)管理
借助MCP的帮助,大型语言模型超越了基本的问答功能,开始控制人工智能生态系统中的复杂工具链。大型语言模型可以从客户端请求额外信息,以完成请求。MCP协议使MCP服务器能够建议针对工具的结构化模型调用。最终决定权在于大型语言模型,选择执行请求或忽略它。连接建立后,大型语言模型可以根据需要重用外部数据库。MCP协议定义了响应中返回给客户端请求的系统边界。大型语言模型只能访问数据的公开部分,防止意外访问敏感存储库。此外,大型语言模型还可以拒绝用户的不可能请求。由于可以从外部来源获取数据或执行网络搜索,人工智能幻觉现象有所减轻。
MCP应用场景
自发布不到一年以来,MCP协议已被广泛采用,企业正积极利用其多种应用场景。
多代理协调:
代理型人工智能不仅是一个典型的生成式人工智能聊天机器人,而是一个能做决策并执行实时任务以辅助人类的代理。企业大量投资于部署此类人工智能代理,以自动化工作负载。“通过标准化代理间及代理与工具间的通信,我们创建了一个可以在云和供应商之间推理、测试和治理的干净接口。”云计算软件和服务公司Mirantis的战略和技术副总裁Randy Bias表示。MCP使企业能够通过MCP管道在不同的业务流程中部署多个人工智能代理。这些代理共同协作,执行任务。
云管理:
MCP服务器支持将自然语言转换为SQL查询。无需技术技能,用户即可访问数据库和管理存储服务。
个性化助手:
MCP使人工智能应用能够将代理连接到客户端设备,使人工智能代理与常见的企业工具如Notion、Slack、Google日历等互动。这增强了诸如预订机票、安排会议、发送消息和分享更新等自主任务的能力。
软件开发:
企业已经将人工智能代理集成到他们的集成开发环境中,以提高代码生成、调试和准确度报告的质量。
财务运营:
在企业中,MCP可以帮助应用从ERP和CRM工具中获取和处理数据。
创意解决方案:
MCP帮助人工智能工具与网页设计、3D动画和图像工具集成。Figma和Blender MCP服务器是两个例子。
创业机会:
新的软件或人工智能应用必须构建自己的MCP服务器或适应现有的服务器,以便任何MCP客户端都能使用它们。
MCP的风险是什么?
MCP协议的一个主要问题是整个基础建立在信任之上。例如,MCP服务器不仅可以被大型语言模型调用,还可以被任何人调用。“MCP仍然是相对年轻的技术”,云安全公司Sysdig的驻场首席信息安全官Conor Sherman警告说。因为MCP协议没有定义具体的企业级认证和授权机制,企业需要保护任何MCP使用不受威胁——否则将面临严重的安全风险。“风险在于,企业在意识到‘有效载荷’本身可能被武器化,携带恶意指令或启用隐蔽的数据外泄之前,会急于采用MCP以实现互操作性。”Sherman解释道。上海交通大学和香港科技大学的研究人员最近发表的一篇论文证明,攻击者可以将恶意指令嵌入MCP服务器,这些指令通过MCP客户端被大型语言模型读取。这种攻击被称为MCP-UPD(非预期隐私披露)。当大型语言模型使用恶意数据时,隐藏的代码会触发对私人文件的访问或导致数据盗窃。Backslash Security最近的分析也支持这一点,发现当时正在使用的15000多个MCP服务器中约有一半存在危险的配置错误,使它们容易受到黑客攻击。不正确的服务器实现:当MCP服务器实现不正确时,可能会向人工智能应用暴露关键功能,从而将企业资产置于风险之中。企业考虑使用MCP时必须注意的两大风险是:不正确的服务器实现。
当MCP服务器实现不当,可能会将关键功能暴露给AI应用程序,从而危及企业资产安全。恶意攻击者可以通过注入恶意提示来操纵LLM接受这些提示,这种攻击称为提示注入。根据Equixly最近的一项分析,43%的测试MCP实现存在提示注入漏洞。MCP充当LLM与第三方来源、工具或服务之间的中间件,但MCP协议仍处于初期阶段。MCP是否会成为企业标准,还是最终只是网络页面上的另一份文档,取决于其获得的支持程度。
(以上内容均由Ai生成)