MCP到底是什么?

前言

最近学习了MCP,在查看了很多视频与文章后,终于对MCP有了一个完整的认识。这里对MCP的概念进行梳理以深化并加深自己的理解。以下内容不会涉及任何代码,只是介绍当前我对MCP的认知。

大模型为什么要调用工具

主要有两点:

  1. 大模型的训练数据存在时效性和专业性的限制,无法获取实时信息,以及专业信息。
  2. 模型本身无法处理一些复杂的计算逻辑,通过调用外部工具可以弥补自身的不足。

大模型调用工具的完整过程

以用户查询北京天气为例,整个流程如下所示:

sequenceDiagram actor 用户 participant 大模型应用 participant 天气工具 participant 大模型 用户->>大模型应用: 1、查询北京天气 大模型应用->>大模型: 2、转发查询请求 (提供工具列表,与用户请求) 大模型->>大模型: 3、判断需要外部工具 (天气工具) 大模型->>大模型: 3.1、构造工具调用参数 大模型->>大模型应用: 4、请求调用天气工具 大模型应用->>天气工具: 5、调用天气工具 (北京) 天气工具-->>大模型应用: 6、返回北京天气数据 大模型应用->>大模型: 7、将天气信息与用户历史询问信息一起发送给大模型 大模型->>大模型: 8、生成天气查询结果 大模型-->>大模型应用: 9、返回天气查询结果 大模型应用-->>用户: 10、显示北京天气信息

该流程主要分为四步:

  1. 工具注册: 大模型应用将可用工具列表,加入到大模型的提示词中。
  2. 意图识别与工具选择:大模型解析用户问题,判断需调用哪个工具,并生成请求参数。
  3. 工具调用: 大模型应用接收大模型的返回信息,判断出需要调用工具,进行工具调用。
  4. 整合回复: 将工具结果与用户问题发送给大模型,大模型整合后返回回复结果。

在这个过程中,大模型本身并不会调用工具,而是进行意图识别、工具决策,并构造请求参数。 调用工具的是大模型应用。

那么这个流程有什么问题?MCP和这个流程有什么关系?

我们先了解下这个流程中的M * N问题。

工具集成M * N问题

MCP的文章中提到解决了工具集成的M * N问题。(我们有M个工具 ,要集成到N个大模型中)

首先要了解:M * N问题主要发生在工具调用的第一步,也就是工具注册阶段。

在工具注册阶段,大模型应用要告诉大模型,我有M个工具,以及这些工具是做什么的,都有什么参数。

问题出在了每个大模型接受工具列表的形式不同,格式也不同。(其实返回参数也不同,这里以接受参数为例)

例如,有的模型需要json格式,有些模型需要xml格式,有些模型需要自然语言。

因此如果程序员想要新增或者修改一个工具,必须去不同的大模型中进行对接或者修改,也就有了M * N的问题。

MCP如何解决M * N的问题

MCP就是为了解决这个问题出现的。 但是必须要注意的是,MCP并非是统一了各个大模型接收工具的参数,而是在工具与模型之间增加了一个"中间层",它提供了工具描述规范调用规约

  1. 各个工具按照MCP协议的要求来描述工具信息。
  2. MCP HOST按照各个模型不同的要求,来描述工具信息。
  3. 大模型按照MCP协议要求来返回标准化的工具调用。

对于工具而言,通过MCP HOST来屏蔽模型之间的差异,做到一次封装,多处复用。因此通过MCP协议,将工具接入的工作量从M * N 降到了M + N。

MCP是什么?

所以MCP到底是什么呢,引用一下官方的定义吧:

MCP 是一种开放协议,它标准化了应用程序如何向 LLM 提供上下文。可将 MCP 视为 AI 应用程序的 USB-C 端口------正如 USB-C 提供设备连接外围配件的标准化方式,MCP 提供将 AI 模型连接到不同数据源和工具的标准化方式。

官方定义地址

但是我觉得改成 MCP提供了一种标准化方式,允许不同数据源和工具通过统一接口描述与AI应用进行交互 反而更容易理解。

以上仅是我自己的理解,如有错误欢迎指正。

相关推荐
是Yu欸6 小时前
AI跨模态鉴伪技术实测
人工智能·安全·ai作画·aigc·合合信息·ai-native·waic
春风野草7 小时前
AI Agent 长任务实战:取消、重试、中断恢复,不是加几个按钮这么简单
aigc·ai编程
刘棕霆7 小时前
造数脚本越堆越乱:稳定的沉淀成引擎,变化的留在配置
aigc·agent·测试
网易云信7 小时前
网易智企亮相 2026 世界人工智能大会:一站式企业 AI 应用覆盖三大企业现场
人工智能·aigc·线下活动
todoitbo9 小时前
Claude Code 接蓝耘实测:选第三方 API 的三条铁律
人工智能·ai·aigc·claude
豌豆学姐9 小时前
likeadmin-api 视频生成工作流实战:Seedance 2.0 接口从素材到任务查询
aigc·音视频·api·视频生成·likeadmin-api
ServBay1 天前
AI Gateway 指南,如何用统一网关管理多模型 API
aigc·api·ai编程
大海变好AI1 天前
AIGC分层推理落地能否串联多工具完成自动化闭环
人工智能·python·自动化·aigc
我要割麦子1 天前
从零到一手撸 Agent 系列 — 第 3 篇:Agent 的"心跳" — 主循环与 System Prompt
aigc·agent
三声三视1 天前
交互式用够了?用 Agent SDK 把 Claude 塞进 Python Web 服务
人工智能·python·ai·aigc·ai编程