MCP(Model Context Protocol)是一种开放标准,解决大模型无法直接访问外部知识、调用工具的问题。通过Host、Client、Server和标准化协议的架构,MCP让大模型能够自然、安全地访问各种数据源和工具,实现了AI的"即插即用",有望成为AI的"插件商店"标准,让大模型真正融入工作流,成为可以自由使用世界资源的智能助手。

1 、MCP 解决了什么问题?

想象一下,你雇了一位世界级的助手,他聪明绝顶,可以帮你写代码、分析数据、回答各种问题。可问题是:这位助手只能坐在原地,什么都碰不到。

你想让他帮你解决问题,只能一张张把文件打印出来递到他手里;你想让他查个资料,只能亲手把搜索结果拿给他;你希望他用某个工具,也得自己先装好、调好,再把结果交给他。

这位助手再厉害,也只能处理你塞到手里的那一点点信息。要换一份资料?得重新搬。要接一个新工具?得重新布线。时间久了,你会发现,这位助手并没有真正融入你的工作流,而是被迫困在一个“信息孤岛”里。

这,正是很多大模型(LLM)今天的真实处境。

  • 它们无法直接访问外部知识,只能依赖你输入的上下文。
  • 它们不能天然调用工具,每接一个新接口都要写一套专门的代码和提示词。
  • 它们的接入方式千差万别,每一次都像“重新造轮子”,既费时又难维护。

于是,即便我们有了 RAG 来帮模型查资料,有了 Agent 框架来帮模型用工具,依然绕不开“重复接入、重复维护”的麻烦。

真正的问题在于:我们缺少一个统一的标准,让模型可以更自然、更安全、更通用地访问各种数据源和工具。

换句话说,我们需要一种方式,让大模型依然坐在原地,但能长出“外部手臂”,根据用户的需求主动伸出去,抓取完成任务所需的上下文与工具,再用这些信息更好地完成工作。

而这,正是 MCP(Model Context Protocol)试图要解决的痛点。

2、 MCP 的核心组成

模型上下文协议(MCP)是一种开放标准(最初由 Anthropic 于 2024 年底提出),它定义了 AI 模型与外部数据源、工具和环境连接的 统一方式。和传统的定制集成不同,MCP 提供了一个 标准化的协议层,让模型能自动发现、调用和安全使用外部能力。

在这里插入图片描述

MCP Host —— 调度者

MCP Host 就像是一个“操作系统环境”,它是所有 Client 的 容器与协调中心

  • 负责管理多个 MCP Client;
  • 负责 认证和授权,决定用户能不能访问某个 Client / Server;
  • 让整个生态里的 Client–Server 调用 安全可控

📌 可以理解:Cursor就是一个MCP Host

MCP Client —— 会话适配器

MCP Client 是运行在 Host 内部的一个 协议适配器,它与某个 MCP Server 建立 1:1 的标准化连接,负责在 Host 和 Server 之间传递消息。

  • 核心作用:发现 Server 提供的能力(tools/resources/prompts)、转发调用请求、接收并回传结果。
  • 职责包括
  • 将 Host / 模型侧的调用请求,转换成符合 MCP 协议的标准格式(基于 JSON-RPC 2.0);
  • 将 MCP Server 返回的结果,转交给 Host,由 Host 注入模型上下文并呈现给用户;
  • 维护与 Server 的独立会话(生命周期、重连、错误处理)。
  • MCP Client 并不是 LLM 本身,而是 Host 内部运行的协议适配器,用户平时并不会直接接触到它。

📌 可以理解:在 Cursor 中安装的每一个 MCP Server 都会对应生成一个 MCP Client。

在这里插入图片描述

在这里插入图片描述

MCP Server —— 外部能力的接口层

MCP Server 是对 外部服务和资源的适配器,它把数据库、API、应用、上下文、提示模板等能力封装为符合 MCP 协议的标准接口。

  • 资源对接:Server 对接真实的外部资源(数据库、API、应用等),并把其能力描述为一组函数、上下文或模板;
  • 动态发现:连接建立时,Server 会向 Client 声明“我能做什么”(函数列表、参数说明等);
  • 动态调用:当用户或模型需要使用时,Client 通过协议调用 Server 提供的函数,Server 执行操作并返回结果;
  • 安全合规:Server 在调用外部资源时通常会执行鉴权(API key、OAuth 等),Host 也会配合进行权限和安全控制。

📌 可以理解:MCP Server 就像一个“工具柜”,它把真实世界的功能(数据库、搜索引擎、内部系统等)都摆好,并贴上清晰的标签;Client 连上柜子,就能自动发现并调用这些工具。

MCP 协议 —— Client 与 Server 的对话语言

有了 Client 和 Server,还需要一套“共同语言”来通信,这就是 MCP 协议

  • 基于 JSON-RPC:MCP 使用标准的 JSON-RPC(远程过程调用)作为底层通信格式,消息都是 JSON 结构,既人类可读,也方便程序解析。
  • 双通道支持
  • stdio —— 适合本地进程间通信(轻量、无网络依赖);
  • HTTP + SSE —— 适合远程通信(例如调用云端的 MCP Server)。
  • 消息类型
  • request:Client 请求 Server 执行某个函数;
  • response:Server 执行后返回结果;
  • notification:一些无需响应的事件,比如 Server 主动推送更新。
  • 会话机制:Client 和 Server 建立连接后,先进行 能力发现(capability discovery),再进入具体调用阶段。

📌 可以理解为:如果 Server 是“工具柜”,Client 是“使用工具的人”,那么 MCP 协议就是“说话的语言”和“传递指令的方式”。

3 、MCP 调用链路:官方视角全解析

当在 Host(例如 Cursor)中安装一个 MCP Server 时,Host 会为它创建一个对应的 Client;Server 会通过协议向 Client 声明自己支持的函数、资源和 Prompt 模板,Client 将这些能力传递给 Host,Host 再汇总多个 Client 的能力,并在合适的时机把这些信息注入到 LLM 的上下文中,让模型能够基于这些能力自主决定调用哪个工具。

  • 用户输入请求用户在应用界面里输入自然语言问题。

    👉 官方称这种应用为 Host(如 Cursor、Claude Desktop)。Host 是容器和协调者,负责管理多个 Client。

  • Host 将请求交给 LLMHost 把用户问题交给大语言模型(LLM)推理。LLM 的任务是理解用户需求,并决定是否要调用外部工具。

    官方文档提到:Host 负责“coordinates multiple clients”和“manages context aggregation across clients”。

  • LLM 生成工具调用意图如果模型判断需要调用外部能力(例如调用 Hugging Face 的 model_search),它会输出一个结构化的“函数调用请求”(函数名 + 参数)。

    官方规范称之为 capability invocation,即模型根据声明过的能力选择工具。

  • Host 查找对应的 ClientHost 收到调用请求后,会在缓存的能力清单中查找:哪个 MCP Client 暴露了这个工具。找到后,它会把请求路由到正确的 Client。

    官方解释:“Each host can run multiple client instances … each client has a 1:1 relationship with one server.”

  • Client 与 Server 通信Client 是由 Host 创建的“协议适配器”,它与某个 MCP Server 建立 1:1 的标准连接(基于 JSON-RPC 2.0)。Host 将调用请求交给 Client,由 Client 转发给对应的 Server。

    官方定义:“MCP Client … maintains a connection to an MCP server and obtains context from an MCP server for the host to use.”

  • Server 对接外部资源MCP Server 收到请求后,会执行:

    官方说明:“Servers expose resources, tools, and prompts … Servers declare capabilities and perform the requested operations.”

  • 校验权限和上下文(Add to Context / Security)
  • 调用实际的外部 API、数据库或工具
  • 把结果返回给 Client
  • 结果回传给 LLM

    官方提到:“Host manages context aggregation across clients”,这就是 Host 在结果阶段的职责。

  • Server → Client → Host,层层返回结果
  • Host 把结果注入到 LLM 的上下文里
  • LLM 使用这些上下文生成自然语言的最终回答
  • 结果展示给用户最后,Host 将模型的回答显示在界面上,完成一次完整的 MCP 调用链。

4、 MCP vs. Function Call:有什么不同?

很多读者可能会问:MCP 和 Function Call 到底有什么区别?不都是“让大模型调用外部函数”吗?

表面上看,它们的调用链路确实很像:

  • 用户提出问题;
  • LLM 决定要不要调用外部工具;
  • 工具执行后返回结果;
  • LLM 根据结果生成最终回答。

核心差异在于“函数定义在哪里”

  • Function Call
  • 函数的定义(名字、参数 schema、描述)写在应用层。
  • 每个应用都要自己注册一遍函数,告诉模型“我有这些功能”。
  • 这就像每个应用都自建一个“电源插座”,但规格各不相同,插头插座不通用。
  • MCP
  • 函数定义(能力声明)在 MCP Server 侧
  • Host 中的 MCP Client 会自动去发现这些声明,并把能力告诉 LLM。
  • 所以只要 Server 按 MCP 标准暴露工具,任何支持 MCP 的 Host 和 LLM 都能自动识别、直接使用。
  • 这就像有了统一的万能插座,不同的电器(工具/数据源)都能随插随用。

📌 对比总结

  • Function Call = 每个应用各自造轮子,函数定义散落在不同地方。
  • MCP = 统一协议,把函数定义从应用层“下放”到 Server,应用只需要接入一次,就能自动发现和调用。
  • Function Call 的安全策略通常由应用层自行实现,每个应用需要单独处理鉴权和隔离;而 MCP 则在协议层内置了统一的安全机制,由 MCP Server 负责鉴权、权限控制和上下文隔离。

这意味着:

  • 开发者的工作量更小:不用为每个模型、每个应用都重写一遍函数注册;
  • 生态更开放:任何人都可以开发 MCP Server,暴露自己的服务能力,接入整个 AI 工具生态。

5 、实际案例:一键发现 Hugging Face 工具

假设你在 Cursor 里安装了 Hugging Face 的 MCP Server

  • 这个 Server 会自动向 MCP Client 声明自己提供的工具,例如 model_search(模型搜索)、dataset_search(数据集搜索)。
  • Host(Cursor)会把这些工具信息告诉 LLM。
  • 当你在对话里输入一句「帮我找一个图像分类的预训练模型」,LLM 就会自动调用 model_search,把结果展示给你。

你无需手动写函数、注册 API,Server 按协议暴露能力,LLM 就能自然发现并使用。 这就是 MCP 带来的体验差异:从“手动布线”变成了“即插即用”。

如下图所示(截图来源:Reddit 上的 Cursor + Hugging Face MCP 演示,仅供学习与交流参考)

你可以在正文里写:

  • 输入一句「列出 Hugging Face 上最流行的 10 个模型」
  • MCP Client 会调用对应的工具,结果直接返回并展示在界面中
  • 无需开发者额外注册函数

6 、生态意义:AI 的“插件商店”

MCP 的标准化设计,让生态有了全新的可能:

  • 任何开发者 都可以实现一个 MCP Server,把自己的服务(搜索、数据库、企业内部系统)包装成标准接口。
  • 任何支持 MCP 的 Host(如 Cursor、Claude Desktop、未来可能的 IDE、客服系统)都能直接接入这些服务。
  • 对 LLM 来说,它看到的是统一的“能力清单”,而不是一堆零散的私有 API。

这意味着,MCP 有望成为 AI 的“插件商店”标准: 一个协议,连接无数工具,形成开放的生态网络。

从“被困在房间里的助手”,到“接入万能插座的外部手臂”,MCP 让大模型不再局限于孤立的对话,而是能够自然、安全、标准化地调用外部工具与数据。它解决了重复接入的痛点,带来了统一的接口和更开放的生态。

虽然 MCP 还在早期阶段,生态和标准化进程需要时间,但它为未来的 AI 应用提供了一个清晰的方向:让大模型真正动起来,成为一个可以自由使用世界资源的智能助手。

📌 在这个背景下,有人打趣说 MCP 的现状是:“开发者(Builders)比用户(Users)还多”

这张梗图很形象:现在更多是工程师和爱好者在积极构建 MCP Server,而普通用户的感知还不强。
但这恰恰说明 MCP 仍处于早期建设期,一旦生态成熟,用户群体必然会迅速追上。

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

在这里插入图片描述

在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

更多推荐