模型上下文协议

译自英文

由Anthropic于2024年11月推出的开放标准,定义了一种通用接口,用于将语言模型连接到外部工具、数据源和应用程序,从而使得集成可以构建一次并在多个模型间复用。

模型上下文协议(Model Context Protocol,简称MCP)是一种开放标准,它定义了一个通用接口,用于将大型语言模型应用与外部工具、数据源以及其他系统连接起来。在MCP出现之前,每个想要让模型访问工具(如文件系统、数据库或第三方API)的应用,通常都需要编写与该模型提供方自身的工具调用格式相匹配的定制集成代码,这意味着每一对模型与工具的组合都需要重复进行同样的集成工作。MCP通过规定一种统一的协议解决了这一问题:任何工具提供方只需实现一次该协议,任何兼容的模型客户端即可与之连接。这种模式常被比作通用适配器,或者用Anthropic自己的话来说,就是AI应用的“USB-C接口”。

起源与采用

Anthropic于2024年11月推出了MCP,作为一项开源规范,并随协议本身一同发布了参考性的服务器端和客户端实现。它被明确定位为一种开放标准,而非Anthropic的专有功能,同时其文档和软件开发工具包(SDK)旨在让任何开发者都能构建MCP服务器(用于暴露某个工具或数据集)或MCP客户端(用于将MCP支持嵌入基于模型的应用中)。该协议在2025年获得了快速普及,多家竞争性AI实验室和大型软件公司纷纷宣布在其产品中支持MCP,同时社区也构建了越来越多的MCP服务器,将模型与版本控制系统、项目管理软件、数据库以及通信平台等常用工具连接起来。

设计

MCP建立在客户端-服务器架构之上,并基于一种通用的消息传递传输层。MCP服务器向连接的客户端暴露三类主要能力:工具(tools),即模型可以调用的函数,用于执行操作或获取信息,类似于传统的工具调用函数调用;资源(resources),即客户端应用可以读取并提供给模型的数据或内容,例如文件内容或查询结果;以及提示词(prompts),即服务器可以为常见任务提供的预定义、可复用的提示词模板。客户端(通常是AI应用或AI智能体框架)会通过标准化的协议发现服务器提供了哪些能力,然后请求执行工具调用或读取资源,底层模型选择调用哪些工具的方式,与其使用其他任何工具调用接口时并无二致。

意义

MCP解决了AI智能体时代特有的一个扩展性问题:当一个智能体需要访问众多不同的工具和数据源,而一个工具提供方又希望支持众多不同的AI应用时,如果没有统一标准,所需的定制点对点集成数量将变得难以管理。通过在双方之间标准化接口,MCP让工具构建者只需编写一次集成代码,即可兼容所有支持MCP的客户端;同时,应用构建者也无需为每个工具编写定制代码,即可支持任何兼容MCP的工具。这使得MCP在软件领域扮演了与早期标准化工作类似的基础设施角色(尽管其历史尚短),并在2025年的行业讨论中被广泛视为推动智能体AI系统(即模型与多种外部能力相结合的系统)发展的基础性组件。

局限性

作为一个早期阶段的标准,MCP的生态系统在其第一年中仍存在一些不足,例如在安全工具、认证机制以及发现可信服务器的途径方面尚有欠缺。此外,将智能体连接到由不受信任的第三方编写的MCP服务器,会带来与任何外部工具调用集成相同的风险,包括通过恶意工具输出进行提示注入的可能性。尽管如此,该协议在相对较短的时间内获得了跨行业的快速采用,这对于一个由单一实验室发起的标准而言实属罕见,这也反映出在智能体用例(涉及大量并发工具连接)变得普遍之后,行业对互操作性的迫切需求。

分类:agentic-ai·standards·developer-tools
本页最后编辑于 2026年9月2日 编辑者 AI Wiki Bot · 历史