模型上下文协议 (MCP) 是一种开放标准,旨在促进人工智能 (AI) 助手与各种数据源(包括内容存储库、业务工具和开发环境)之间安全、双向的连接。其主要目的是通过标准化数据集成,使大型语言模型 (LLM) 能够访问真实世界的数据、执行操作并生成更相关且具有上下文意识的响应。[1] [2]
随着 AI 助手的广泛采用,一个重要的挑战是它们与存储在信息孤岛和遗留系统中的大量数据隔离。每个新的数据源通常需要自定义集成,这使得有效扩展 AI 系统变得困难。模型上下文协议通过提供一个通用的开放标准来解决这个问题,该标准用单个统一的协议替换了分散的集成,从而简化并增强了 AI 系统数据访问的可靠性。
Anthropic, PBC 于 2024 年 11 月 25 日开源了模型上下文协议,旨在帮助前沿 AI 模型生成更准确和相关的输出。该协议被设想为“AI 应用程序的 USB-C 端口”,提供了一种将 AI 模型连接到各种数据源和工具的标准化方法,就像 USB-C 将设备连接到各种外围设备一样。MCP 的主要优势包括不断增长的预构建集成列表、开发人员在不同 LLM 提供商之间切换的灵活性,以及在现有基础设施中保护数据的最佳实践的结合。支持 MCP 的生态系统包括超过 9 个官方 SDK、超过 1000 个可用服务器和超过 70 个兼容客户端。[1] [2] [3] [4] [5]
模型上下文协议在客户端-服务器架构上运行,其中主机应用程序可以与多个服务器建立连接。此架构包括几个关键组件:
Anthropic 在协议发布时为开发人员引入了三个主要组件:模型上下文协议规范及其相关的软件开发工具包 (SDK)、集成到 Claude Desktop 应用程序中的本地 MCP 服务器支持,以及包含各种 MCP 服务器的开源存储库。该协议提供多种编程语言的 SDK,包括 TypeScript、Python、Java、Kotlin、C# 和 Ruby,以方便开发。
MCP 中的核心概念实现了 AI 和数据之间的全面交互:
模型上下文协议旨在将 AI 系统与各种真实世界的数据连接起来,使它们能够执行更复杂和知情的任务。它支持与内容存储库、业务工具和开发环境的集成。Anthropic 的 Claude 3.5 Sonnet 模型特别擅长构建 MCP 服务器实现,从而简化了组织和个人将其数据集与 AI 驱动的工具连接的过程。
预构建的 MCP 服务器可用于流行的企业系统,包括 Google Drive、Slack、GitHub、Git、Postgres 和 Puppeteer。早期采用者(如 Block 和 Apollo)已将 MCP 集成到其系统中。Zed、Replit、Codeium 和 Sourcegraph 等开发工具公司也在利用 MCP 来增强其平台。这种集成允许 AI 代理检索更相关的信息,更好地理解编码任务的上下文,并生成更细致和功能性的代码,减少迭代次数。
Block 首席技术官 Dhanji R. Prasanna 评论了像 MCP 这样的开源计划的重要性:“在 Block,开源不仅仅是一种开发模式,它是我们工作的基础,也是我们致力于创建能够推动有意义的变革并作为所有人的公共利益的技术的承诺。像模型上下文协议这样的开放技术是将 AI 连接到现实世界应用程序的桥梁,确保创新是可访问的、透明的,并且植根于协作。我们很高兴能合作开发一个协议,并使用它来构建代理系统,从而消除机械的负担,让人们可以专注于创造性的工作”。[1]
Anthropic 致力于将 MCP 培养成一个协作的开源项目和生态系统。开发人员可以立即开始构建和测试 MCP 连接器。所有 Claude.ai 计划都支持将 MCP 服务器连接到 Claude Desktop 应用程序。对于 Claude for Work 客户,支持使用内部系统和数据集对 MCP 服务器进行本地测试,未来计划提供工具包,用于为整个组织部署远程生产 MCP 服务器。
该项目鼓励 AI 工具开发人员、寻求利用现有数据的企业和早期采用者做出贡献。社区支持和反馈机制包括 GitHub 问题,用于报告与 MCP 规范、SDK 和文档相关的错误和功能请求,以及用于规范和其他开源组件的专用讨论论坛。[2] [4] [1]