大模型知识--MCP
专栏的上一章节聊了下大模型的智能化进程必备技术Function Calls,这章我们主要聊下最近很火的知识点MCP,很多人在网上都会听到大模型的博主或者文章不断的提到一个名词就是MCP。这章节我们主要聊下MCP的概念。
一、是什么
MCP (Model Context Protocol) 是一个由 OpenAI 推出的开放标准,它定义了大语言模型(LLM)与外部数据源、工具(如数据库、API、文件系统)之间如何安全、高效地通信和交换信息。
一个绝妙的比喻:模型世界的“USB协议”
把你电脑上的大模型(比如 ChatGPT)想象成一个超级大脑,但它是个“闭关修炼”的学者,只知道书本知识,不知道外面的世界。
现在,你想让这个“超级大脑”帮你:
-
读取公司服务器上的一个PDF文件。
-
查询一下今天的销售数据库。
-
帮你控制智能家居的灯光。
问题来了:大脑没有眼睛、没有手,它怎么去读文件、查数据库、开灯呢?
这就是 MCP 诞生的原因!MCP 就像是为这个“超级大脑”制定的一套“USB协议”。
-
大脑 (LLM):电脑主机。
-
外部资源和工具 (数据源):U盘、打印机、键盘、鼠标。
-
MCP 协议:USB协议标准。它规定了所有USB设备应该如何与主机通信、传输数据、获取电力。
-
MCP 服务器 (Server):USB设备本身(比如你的U盘,鼠标,键盘)。它真正存储着数据或拥有执行操作的能力。
-
MCP 客户端 (Client):电脑上的USB接口和驱动程序。它负责按USB协议的标准去识别设备、发起请求、读取数据。
有了MCP之后:任何厂商只要按照USB协议(MCP)去生产设备(开发Server),它就能即插即用(被LLM使用)。大脑(LLM)终于有了“眼睛”和“手”,可以感知和操作外部世界了!
二、MCP如何工作
要使用MCP,你需要理解三个核心角色和它们的工作流程。
核心角色
-
MCP 客户端 (Client):
-
是什么:直接与大模型交互的应用。比如 Claude Desktop、Cursor Editor、你自己写的AI应用。
-
职责:代表用户向模型发送请求。当模型需要外部数据时,客户端会按照MCP标准向对应的Server发起请求,并将返回的数据整合给模型。
-
-
MCP 服务器 (Server):
-
是什么:资源的提供者。它是一个独立的进程,负责管理特定的数据源或工具。例如:
-
一个专门连接公司 MySQL 数据库的Server。
-
一个专门读取 GitHub 仓库信息的Server。
-
一个可以操作 AWS S3 云存储文件的Server。
-
-
职责:监听客户端的请求,执行真正的操作(如执行SQL查询、读取文件列表),并将结果按MCP格式返回给客户端。
-
-
MCP 协议 (Protocol):
-
是什么:连接Client和Server的通信规则。它基于JSON-RPC 2.0(一种轻量级的远程过程调用协议),规定了:
-
如何发现资源:Server能提供哪些数据或工具(称为
resources
和tools
)?
-
-