什么是MCP?与AI Agent是什么关系?

作者:谁偷走了我的奶酪2026.11.04 07:03浏览量:0

简介:MCP(Model Context Protocol,模型上下文协议)是一套统一大模型与外部数据源、工具连接方式的开放标准,被视作 AI 应用的“万能转接头”。本文系统梳理 MCP 的定义、出现背景、核心组成与工作原理,厘清 MCP、Function Calling 与 AI Agent 三者的层次关系与区别,并结合典型场景与接入注意事项,帮助你快速建立对该协议的完整认知。

一、MCP 是什么:一句话定义

MCP(Model Context Protocol,模型上下文协议)是一种开放标准,于 2024 年 11 月底由国外一家头部大模型厂商率先提出并开放规范,旨在统一大模型应用与外部数据源、外部工具之间的通信协议。它使 AI 应用能够以标准化、可审计的方式安全地访问和操作本地及远程数据,为 AI 应用提供了“连接万物”的通用接口。

可以从三个视角理解这个定义:

  • 技术视角:MCP 是一套基于 JSON-RPC 消息格式的客户端—服务器协议,规定了宿主应用、客户端与服务器之间如何建立连接、发现能力、发起调用与返回结果。
  • 业务视角:它像一根“统一插座”——各类数据源与工具做成标准“插头”,任何遵循协议的 AI 应用都能即插即用,不再需要逐个定制对接。
  • 使用视角:开发者只需部署或复用一个 MCP 服务器,AI 应用就能获得对某类数据或工具的标准访问能力,模型侧无需任何改动。

二、MCP 为什么出现:背景与价值

1. 数据孤岛限制了 AI 的能力上限

大模型的知识来自训练语料,天然是静态、滞后的。企业内部知识库、生产数据库、个人本地文件、实时互联网信息,默认都不在模型的“视野”之内。过去的常见做法各有局限:

  • 复制粘贴:只适合少量文本,无法规模化;
  • 上传知识库:需要预先构建和维护,更新不及时,且难以覆盖“执行操作”类任务;
  • 定制接口对接:每个应用单独开发,重复投入。

即便模型能力再强,拿不到真实数据也做不出准确回答——巧妇难为无米之炊。

2. N×M 的集成困境

设想 M 个 AI 应用需要接入 N 个数据源或工具,传统模式下每个“应用—数据源”组合都要定制一次集成,总成本是 M×N,且互不复用。有了统一协议后,每个数据源只需实现一次服务器、每个应用只需实现一次客户端,总成本降为 M+N,工具生态可以跨应用复用。

3. 生态碎片化

不同模型、不同工具的接口风格、鉴权方式、数据格式各不相同。MCP 通过统一的消息格式与能力描述规范,把“工具长什么样、如何被发现、如何被调用”标准化下来。

综合来看,MCP 的核心价值包括:

  • 标准化:统一连接与调用方式,降低理解与维护成本;
  • 复用性:工具一次实现,处处可用,生态可积累;
  • 解耦:模型侧与工具侧独立演进,互不绑架;
  • 安全性:所有调用经客户端中转,天然可插入权限校验、人工确认与审计。

三、MCP 的核心组成

1. 三个角色

  • MCP Host(宿主):承载大模型、直接面向用户的 AI 应用,例如对话客户端、编程助手、智能体开发平台等。
  • MCP Client(客户端):宿主内部的协议组件,与每个服务器维持一条连接,负责协议消息的收发与转发。
  • MCP Server(服务器):轻量级服务程序,封装某一类数据或能力并按协议对外暴露,例如文件系统服务器、数据库服务器、某内部 API 的封装服务器等。

2. 服务器可暴露的三类核心能力(原语)

  • Tools(工具):可被模型主动调用的“函数”,如执行查询、写入数据、发送消息,通常伴随副作用;
  • Resources(资源):可被读取的数据,如文件内容、数据记录、日志片段,由应用决定何时使用;
  • Prompts(提示模板):预置的提示词模板,方便用户复用标准化任务流程。

此外,协议还定义了少量扩展能力(例如服务器反向请求宿主模型生成内容的“采样”机制),用于更复杂的协作场景,日常接入以前三类为主。

3. 部署形态

  • 本地部署:服务器与宿主同机运行,通过标准输入输出通信,适合访问本地文件、本地开发环境;
  • 远程部署:服务器部署在网络上,通过基于 HTTP 的流式传输通信,适合共享企业数据、跨团队复用。

四、MCP 是如何工作的

1. 通信基础

  • 消息格式:JSON-RPC 2.0,消息分为请求、响应、通知三类;
  • 传输方式:本地常用标准输入输出,远程常用基于 HTTP 的流式传输。

2. 一次典型调用的完整流程

以“帮我统计上个月的订单量”为例:

  1. 初始化握手:宿主启动后,客户端与服务器完成连接初始化,协商协议版本与双方能力;
  2. 能力发现:客户端获取服务器暴露的工具列表及结构化描述;
  3. 能力注入:宿主将工具描述整理进模型上下文,模型据此“知道”自己有哪些工具可用;
  4. 模型决策:模型结合用户问题,判断需要调用工具,输出结构化的调用意图(工具名 + 参数);
  5. 权限校验与转发:宿主校验调用合法性,必要时请用户确认;随后客户端通过协议把请求发给服务器;
  6. 执行与返回:服务器执行实际操作(查库、读文件等),将结果返回宿主;
  7. 结果回填:执行结果作为工具结果进入对话上下文,模型基于结果生成最终回答。

示意性调用消息(JSON-RPC 风格):

  1. {
  2. "jsonrpc": "2.0",
  3. "id": 1,
  4. "method": "tools/call",
  5. "params": {
  6. "name": "query_database",
  7. "arguments": { "sql": "SELECT COUNT(*) FROM orders WHERE created_at >= '2025-07-01'" }
  8. }
  9. }

示意性工具描述(服务器声明能力时提供):

  1. {
  2. "name": "get_weather",
  3. "description": "查询指定城市的实时天气",
  4. "inputSchema": {
  5. "type": "object",
  6. "properties": {
  7. "city": { "type": "string", "description": "城市名称" }
  8. },
  9. "required": ["city"]
  10. }
  11. }

3. 关键设计点

  • 能力协商:握手阶段双方互相声明能力,避免不兼容的调用;
  • 人机协同:宿主可在敏感操作前插入人工确认,形成“人在回路”的安全机制;
  • 上下文由宿主统一管理:模型不直接接触网络与服务器,所有交互经宿主中转,便于统一治理。

agent-">五、MCP、Function Calling 与 AI Agent 的关系

三者经常被放在一起讨论,但处于不同层次:

  • Function Calling(函数调用)是模型层能力:指模型能以结构化形式输出“我要调用哪个函数、参数是什么”。它解决“模型如何表达调用意图”,但不规定函数从哪里来、如何传输、如何鉴权。
  • MCP 是协议层标准:解决“工具与数据如何被标准化地接入模型应用”。它为 Function Calling 提供了“弹药库”——大量可被发现、可被调用的工具。
  • AI Agent(智能体)是系统层形态:以大模型为核心决策单元,具备任务规划、记忆、工具使用与多步自主执行能力,围绕目标持续“感知—规划—行动—反思”。Agent 通常同时使用 Function Calling(表达调用意图)与 MCP(获取工具供给)。
层次 概念 回答的问题 类比
能力层 Function Calling 模型如何”开口要工具” 会伸手
协议层 MCP 工具如何标准化送达模型 货架与传送带
系统层 AI Agent 如何自主完成整套任务 独立干活的工匠

一句话总结:Function Calling 是动作,MCP 是通道与标准,AI Agent 是使用它们的完整系统。没有 MCP,Agent 仍可工作,但工具生态难以规模化;没有 Agent,MCP 只是静态的连接标准;三者组合,才能构建“连接万物、自主执行”的智能应用。

六、典型应用场景

  • 数据与文件系统接入:让对话式应用直接读写本地文件、查询结构化数据库,回答基于真实数据的问题;
  • 开发效率工具:编程助手通过 MCP 连接代码仓库、构建系统、测试与日志服务,实现“读懂工程上下文”的辅助编码;
  • Web 与浏览器自动化:模型按协议调用网页检索与页面操作类工具,完成信息采集与流程执行;
  • 办公与协作:连接文档、日程、消息通信类系统,让智能体代为起草、汇总与分发;
  • 企业智能体平台:在云上构建智能体时,用 MCP 统一接入企业内部 API、私有知识与各类服务,避免逐个定制集成。

七、使用注意事项

  1. 安全与权限:MCP 显著扩大了模型的能力边界,应遵循最小权限原则,按需暴露工具;对写入、删除、支付等敏感操作启用人工确认;审慎评估第三方服务器的来源与可信度。
  2. 提示注入风险:工具返回的文本会进入模型上下文,若其中夹带恶意指令,可能诱导模型执行危险操作,需在宿主侧做过滤与隔离。
  3. 工具数量与质量:工具过多会稀释模型注意力、增加误选率;工具描述应清晰、职责单一。
  4. 稳定性与性能:服务器是新增依赖,需考虑超时、重试与降级;远程服务器还要评估网络延迟与并发承载能力。
  5. 版本与兼容:关注协议版本协商结果,服务器实现与宿主版本不匹配可能导致能力不可用。
  6. 审计与合规:记录每次工具调用的目标、参数与结果,便于事后追溯;远程接入涉及数据出域时,需同步评估数据合规要求。

八、总结

MCP 是一套统一大模型与外部数据源、工具连接方式的开放协议。它把过去 M×N 的定制集成简化为 M+N 的标准对接,让 AI 应用能够以安全、可治理的方式“连接万物”。需要强调的是:它不是模型本身的新能力(那是 Function Calling 所在的层面),也不是自主执行任务的完整系统(那是 AI Agent),而是支撑两者协同的连接层标准。在选型与落地时,应把它当作基础设施来对待——重点投入权限治理、安全审计与服务质量管理,才能真正释放其在智能体生态中的价值。