奠定基石:理解模型上下文协议 (MCP)
本部分旨在建立 MCP 的基本概念。通过阐释 MCP 旨在解决的问题,并定义其核心架构组件与基本要素,为后续深入探讨实现细节提供必要的理论基础。
1.1 “为何需要”:破解大语言模型集成难题
在 MCP 出现之前,将大语言模型 (LLM) 与外部工具和数据源连接是一个充满临时解决方案的混乱过程。每个集成都需要定制的 API、复杂的 JSON 格式和艰巨的状态管理。
MCP 如同一个“为 AI 设计的 USB-C 端口”,创建了一个通用的、可互操作的标准,让不同的 AI 应用和服务能够无缝连接,从根本上改变了集成模式。
它将复杂的 “N 对 M” 网状连接,转变为一个更易于管理的 “N 对 1 对 M” 模式:多个应用通过一个标准协议 (MCP) 与多个工具交互。
之前:点对点混乱
LLM App 1
Tool A
LLM App 2
Tool B
每个连接都需要定制开发
之后:MCP 标准化
LLM App 1
LLM App 2
→
MCP
→
Tool A
Tool B
1.2 MCP 架构:主机、服务器与客户端
整个工作流程确保了功能执行与语言生成之间的清晰分离和高效协作。将鼠标悬停在下面的组件上以了解更多信息。
🖥️
MCP 主机 (Host)
用户直接交互的应用 (如 IDE),是工作流的“指挥中心”。
主机负责协调用户、LLM 和 MCP 服务器之间的通信。
⚙️
MCP 服务器 (Server)
暴露能力的轻量级程序,是开发者构建的核心。
FastMCP 就是用于构建这类服务器的框架。
🔌
MCP 客户端 (Client)
嵌入在主机内,负责与服务器直接通信。
客户端管理底层的通信协议,并建立一对一连接。
1.3 “包含什么”:MCP 的核心要素
一个 MCP 服务器可以提供三种主要类型的功能,类似于 REST API 的不同端点。
资源 (Resources)
类似 GET
用于暴露只读数据(如文件内容、数据库记录)到 LLM 上下文。其核心职责是“提供信息”。
工具 (Tools)
类似 POST / PUT
代表可由 LLM 调用的函数,用于执行操作、运行代码或产生副作用。其核心职责是“执行动作”。
提示 (Prompts)
AI 的"脚本"
可复用的模板,用于指导 LLM 的交互模式和构建其响应,规范 AI 的行为。