AI新宠:模型上下文协议(MCP)重塑格局

在人工智能 (AI) 领域,一个名为 MCP 的缩写正在引发广泛关注。它究竟是什么?为何突然如此受欢迎? 使用它又有哪些潜在的优势和劣势?

当 Anthropic 在 11 月决定开源模型上下文协议 (Model Context Protocol, MCP) 时,他们或许并未预料到它会得到如此广泛的应用。如今,各种各样的供应商都在提供对 MCP 的支持,或者开发创新方法来增强其安全性、扩展其功能或提高其灵活性。MCP 成功的秘诀是什么? 使用它是否存在任何固有的风险或限制?

有趣的是,尽管推出时间相对较短,但 MCP 却迅速被包括 Google 和 OpenAI 在内的主要 AI 厂商所接受。这表明 MCP 的价值主张从一开始就引起了强烈的共鸣。关于 MCP 最全面的解释可以在其官方文档中找到:“MCP 是一种开放协议,它标准化了应用程序向 LLM 提供上下文的方式。可以将 MCP 视为 AI 应用程序的 USB-C 端口。”

MCP:AI 领域的 USB-C

将 MCP 比作 USB-C 非常具有洞察力。正如 Anthropic 解释的那样,“正如 USB-C 提供了一种标准化的方式来将您的设备连接到各种外围设备和配件一样,MCP 提供了一种标准化的方式来将 AI 模型连接到各种数据源和工具。”

建立 LLM 与各种数据源和应用程序之间的无缝连接,对于充分发挥 Agentic AI 的潜力至关重要。Agentic AI 指的是将 AI 用于比简单的文本或图像生成更复杂的任务。这些模型固有的架构使得即使能够访问大量计算资源,也很难在新的数据上训练它们。此外,LLM 主要生成输出,并非天生设计来控制应用程序。要实现这种类型的控制,需要额外的开发工作。MCP 提供了一种标准化的方法来连接模型和数据,从而应对了这一挑战。

借助 MCP,如果应用程序具有 API 端点,则可以轻松地将其用于 MCP 服务器。这代表着在实现 Agentic AI 方面迈出了重要一步,Agentic AI 可以咨询公司数据并对其进行操作。这最初的一步为后续的进步铺平了道路。正如 USB-C 协议是 Thunderbolt 3、4 和 5 作为笔记本电脑和外围设备的综合连接的必要先决条件一样,MCP 也为未来的 AI 创新奠定了基础。

一位 Anthropic 员工恰当地总结了 MCP 的本质:“它的要点是:你有一个 LLM 应用程序,比如 Claude Desktop。你希望它与你拥有的某些系统进行交互(读取或写入)。MCP 解决了这个问题。”

MCP 主要包括一个负责检索特定数据的 MCP 服务器。MCP 客户端在 AI 应用程序中运行,并连接到一个或多个 MCP 服务器。MCP 主机指的是包含具有 Agentic 功能或组件的 LLM 的 AI 应用程序。最后,数据或服务本身由 MCP 组件的组合操作控制。模型上下文协议 (Model Context Protocol) 精确地定义了每个组件应如何与其他组件通信。通信通过 SSE (HTTP) 或 STDIO(本地服务器)进行。

MCP 的主要影响

MCP 促进了与 AI 的特别直观的交互。例如,无需配置单独的工具来创建 LinkedIn 帖子。只需授予对鼠标和键盘的控制权,系统就可以自动导航到 Chrome,访问 LinkedIn 网站并创建帖子。这种方法提供了 Anthropic 的 Claude Computer Use 和 OpenAI Operator 的替代方案,从而可以更灵活地选择 AI 模型。

虽然 Anthropic 竞争对手最初的采用并不迅速,但在 MCP 发布后不久,Cursor 和 Zed 等独立工具就集成了 MCP。该协议也在国际上获得了发展,中国的阿里巴巴和百度等公司也纷纷采用 MCP。这种日益增长的采用使得 OpenAI 和 Google 等组织更容易证明他们自己集成 MCP 的合理性。

目前,MCP 的地位与其他在技术堆栈中被广泛接受的标准相似,例如分别起源于 Google 和 Twitter 的 Kubernetes 或 OAuth。随着时间的推移,这些标准的起源变得越来越不重要。此类协议或最佳实践通常会在“正确的时间”和“正确的地点”出现,并且它们的存在对于实现 AI 的广泛采用至关重要。

对 MCP 的批评

虽然 MCP 满足了重要的需求,但它并非没有受到批评。围绕 MCP 的许多担忧都与安全性有关,或者更确切地说,是与人们认为的安全性不足有关。最初的规范缺少定义的身份验证机制(尽管后来添加了该机制,但尚未被普遍采用)。输入通常被隐式信任,并且 LLM 仍然容易出错,这可能会产生潜在的严重后果。远程代码执行可能会在不需要 RMM 工具的情况下危及整台计算机。攻击者可以简单地指示 LLM 导航到特定位置、窃取数据并将其通过电子邮件发送到其他地方。

与 Kubernetes 类似,MCP 可能会依赖外部安全措施。但是,开发人员可能并不总是优先考虑安全考虑因素,而可能主要关注此 AI 工具的潜力。因此,由于该协议本身缺乏安全功能,因此很难防止因采用 MCP 而导致的安全事件。

不应将此批评解释为过于苛刻。新的协议和标准很少从一开始就包含“设计安全”原则。当它们这样做时,通常会阻碍快速采用。如果 Anthropic 最初专注于最大化其安全性,则 MCP 可能根本不会获得任何关注。

相反,MCP 也已被安全公司所接受。例如,Wiz 开发了自己的 MCP 服务器,该服务器具有全面的云可见性、上下文智能以及围绕数据源的统一安全措施。尽管如此,该公司仍然对该协议持批评态度,理由是担心从 RCE 到提示注入和命令劫持等问题。解决这些问题可能需要专门的解决方案。

MCP 的未来取决于社区

既然 MCP 已经成为 GenAI 连接的标准,那么它的成熟取决于社区的集体努力,而不仅仅是 Anthropic。这种协作过程已经获得了动力。例如,Docker 旨在使 MCP 达到生产就绪状态,并具有与容器相同的易用性。Docker MCP Catalog 和 MCP Toolkit 代表了围绕容器化 MCP 应用程序的生态系统的开始。Docker 已经强调了 Stripe、Elastic、Heroku、Pulumi 和 Grafana Labs 等早期采用者是主要贡献者。

似乎对使用 MCP 的热情超过了其目前的成熟度。尽管如此,它的广泛采用表明,从围绕 MCP 的更强大的安全措施到新颖的用例,改进可能会定期出现。MCP 的未来发展和完善将是一项协作努力,由更广泛的 AI 社区的需求和创新所驱动。

随着模型上下文协议 (Model Context Protocol) 越来越突出,了解其复杂性、潜在优势和固有风险至关重要。以下各节将深入探讨 MCP 的各个方面,从而全面概述这项突破性技术。

理解 MCP 的技术基础

从根本上讲,模型上下文协议 (Model Context Protocol) 是一组规范,用于定义不同的软件组件如何交互以向大型语言模型 (LLM) 提供上下文。此上下文对于 LLM 有效地执行任务至关重要,因为它允许它们访问和利用外部数据和工具。

MCP 的关键组件包括:

  • MCP 服务器: 此组件充当外部数据源和工具的网关。它公开 API,允许 LLM 检索信息或执行操作。

  • MCP 客户端: 此组件驻留在 LLM 应用程序中,并与 MCP 服务器通信以请求数据或触发操作。

  • MCP 主机: 这是 LLM 和 MCP 组件运行的整体环境。它为它们正确运行提供必要的 инфраструктура 和资源。

这些组件之间的通信通常通过标准网络协议(如 HTTP)进行,并使用 JSON 等格式进行数据交换。这种标准化允许不同的 LLM 和外部数据源之间的互操作性,从而培养一个更开放和协作的 AI 生态系统。

探索 MCP 的优势

采用 MCP 为使用 LLM 的开发人员和组织提供了许多优势。一些主要优势包括:

  • 简化集成: MCP 简化了将 LLM 连接到外部数据源和工具的过程,从而降低了集成的复杂性和所需的时间。

  • 增强的灵活性: MCP 允许开发人员轻松地在不同的 LLM 和数据源之间切换,而无需修改底层应用程序代码。

  • 改进的可扩展性: MCP 使 LLM 能够访问大量数据并利用各种工具,从而提高其可扩展性和性能。

  • 提高安全性: 虽然安全性是一个问题,但 MCP 提供了一个实施安全措施的框架,以保护数据并防止未经授权的访问。

  • 加速创新: 通过标准化 LLM 与外部资源交互的方式,MCP 促进了 AI 社区内的创新和协作。

应对 MCP 的安全挑战

如前所述,安全性是 MCP 的一个关键问题。缺乏内置安全功能可能会使系统容易受到各种攻击。但是,开发人员可以采取几个步骤来降低这些风险:

  • 实施身份验证: 强制实施身份验证机制以验证访问 MCP 资源的用户和应用程序的身份。

  • 验证输入: 仔细验证所有输入数据,以防止提示注入攻击和其他形式的恶意输入。

  • 限制访问: 根据用户角色和权限限制对敏感数据和工具的访问。

  • 监控活动: 监控 MCP 活动是否存在可疑模式和潜在的安全漏洞。

  • 使用安全工具: 将 MCP 与防火墙和入侵检测系统等安全工具集成,以增强保护。

通过实施这些安全措施,开发人员可以显着降低与使用 MCP 相关的风险,并确保其 AI 系统的安全性和完整性。

MCP 的实际应用

MCP 的潜在应用非常广泛,涵盖各个行业。以下是一些 MCP 在实践中使用的示例:

  • 客户服务: 将 LLM 连接到 CRM 系统以提供个性化的客户支持并更有效地解决问题。

  • 财务分析: 将 LLM 与财务数据源集成以分析市场趋势并提出投资建议。

  • 医疗保健: 将 LLM 链接到电子健康记录以协助医生诊断疾病和制定治疗计划。

  • 教育: 将 LLM 连接到教育资源以为学生提供个性化的学习体验。

  • 制造业: 将 LLM 与工业控制系统集成以优化生产过程并提高质量控制。

这些只是 MCP 用于增强 AI 功能和解决实际问题的众多方法中的几个示例。随着技术成熟并得到更广泛的采用,我们可以期望看到更多创新的应用出现。

MCP 和 AI 集成的未来

模型上下文协议 (Model Context Protocol) 有望在 AI 集成的未来中发挥关键作用。随着 LLM 变得越来越强大和复杂,对标准化方法将它们连接到外部资源的需求只会增加。MCP 为此集成提供了坚实的基础,使开发人员能够构建更强大和通用的 AI 系统。

在未来几年中,我们可以期望看到 MCP 发展并适应 AI 社区不断变化的需求。这种发展可能涉及:

  • 改进的安全功能: 添加更强大的安全功能以解决当前漏洞并确保 AI 系统的安全。

  • 增强的性能: 优化以提高 MCP 的性能和可扩展性,使其能够处理更大的数据量和更复杂的任务。

  • 扩展的支持: 增加对不同 LLM、数据源和工具的支持,使 MCP 更易于被更广泛的开发人员访问。

  • 社区驱动的开发: 转向更社区驱动的开发模式,允许开发人员为 MCP 的发展做出贡献并根据其特定需求进行定制。

随着 MCP 不断发展,它无疑将在塑造 AI 的未来及其融入我们生活的各个方面方面发挥关键作用。它提供的标准化和互操作性将促进创新、加速开发并最终释放人工智能的全部潜力。