MCP(模型上下文协议)是一个开放标准,旨在解决AI模型与外部世界连接时“各自为政”的碎片化问题,可以理解为AI领域的“USB-C”接口

它的核心目标是:为AI大模型(如Claude、GPT)访问外部数据源(如数据库、文件)和调用工具(如发送邮件、查询API)提供一套统一的、标准化的通信协议。有了MCP,AI应用开发者不再需要为每个数据源或工具编写定制化的集成代码。

核心架构:三个角色

MCP采用客户端-服务器架构,主要包含三个核心组件,它们协同工作:

组件 角色 做什么
MCP 主机 (Host) AI应用本身 发起请求的LLM应用程序,例如AI驱动的IDE、聊天机器人或AI代理。它是用户交互的起点。
MCP 客户端 (Client) 主机内的“翻译官” 集成在主机内,负责将AI的请求翻译成MCP标准消息,并管理与一个或多个MCP服务器的连接。
MCP 服务器 (Server) 功能与数据的“提供者” 轻量级服务程序,通过MCP标准向外暴露特定的功能(如数据库查询、文件操作)。它将外部系统的复杂API封装成AI易于理解的形式。

关键功能:三大核心能力

一个MCP服务器可以向客户端提供以下三种核心能力:

  1. 资源 (Resources):向AI提供上下文和数据的数据源。任何数据都可以通过URI(统一资源标识符)来寻址,比如一个本地文件(file:///...)、数据库记录或网页内容。

  2. 工具 (Tools):供AI模型执行函数。这是MCP最强大的能力,让AI不仅能获取信息,还能采取行动,如“发送一封邮件”、“创建一个工单”。

  3. 提示模板 (Prompts):为用户设计的可复用工作流和消息模板。这可以帮助用户更有效地与AI交互,完成特定任务。

工作流程示例

以“帮我查一下北京今天的天气”为例,完整的MCP交互流程如下:

  1. 请求与发现:用户在MCP主机(如一个聊天界面)中提问。MCP客户端收到请求后,查询已连接的MCP服务器,发现一个名为get_weather的可用工具。

  2. 协议转换与调用:MCP客户端将AI的意图转换为一个符合JSON-RPC 2.0标准格式的call_tool请求消息,并发送给对应的MCP服务器。

  3. 执行与返回:MCP服务器接收到请求,调用真正的天气API获取数据,然后将结果封装成标准响应,返回给MCP客户端。

  4. 注入上下文:客户端将返回的天气信息注入到AI模型的上下文中。AI现在“知道”了天气情况,最终生成“北京今天天气晴朗,气温25°C”这样的自然语言回复给用户。

为什么重要:MCP与RAG的区别

MCP常与RAG(检索增强生成)被一起讨论,但它们解决问题的层面不同。

  • RAG:是一种技术策略,专注于在AI生成答案前,从一个知识库中“查找”相关信息,以增强回答的准确性。它主要解决的是“让AI知道更多”的问题。

  • MCP:是一个通信协议,它提供了一种“标准化的方式”让AI去发现、请求和使用任何外部工具或数据,无论是为了“知道”还是“行动”。它的范围更广,目标是构建一个可互操作的AI工具生态系统。

安全与治理

由于MCP允许AI执行代码和访问数据,安全是设计的重中之重。核心原则包括用户明确同意与控制工具安全(执行工具前需用户授权)以及对AI自主行为的严格约束,例如在“采样”功能中,用户需批准所有AI发起的LLM请求。

在实际的企业应用中,除了协议本身,还会引入MCP注册表(一个可发现和信任服务器的目录)和允许列表(一个决定哪些服务器可用的管理策略)来确保安全可控地使用MCP

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐