第 5 章 · MCP:工具与上下文的连接协议
标准连接,不是万能能力
MCP(Model Context Protocol)规定 AI 应用与外部服务如何交换能力和上下文信息。它可以降低重复适配的成本,但不会凭空实现文件读取、联网搜索或 Office 编辑。
“标准插座”是一个有限的比喻:两端还需要支持兼容的协议版本、传输方式、认证和能力。更换模型也不意味着非 MCP 的对接代码必然作废;应用本来就可以复用普通 API 适配层。
Host、Client 与 Server
Host 管理模型、用户交互和客户端;Client 与对应 Server 通信;Server 暴露实际能力或资料。Server 指程序,不必是一台远程服务器。模型通常通过宿主提供的工具描述产生调用请求,而不是直接建立 MCP 网络连接。
三类常见能力
| 能力 | 用途 | 教学例子 |
|---|---|---|
| Tools | 可调用操作 | 查询订单、读写文件 |
| Resources | 供应用取用的资料 | 数据库结构、指定文档 |
| Prompts | 可复用的交互模板 | 预设的报告整理提示 |
一个服务不一定全部实现,客户端也不一定完整支持。MCP 不规定应用必须如何推理、如何记忆,也不保证工具结果的业务正确性。
传输和版本要看两端
本地服务常用 stdio,由宿主启动进程并交换标准输入输出;远程服务常用 Streamable HTTP。旧教程可能出现单独的 HTTP+SSE 连接方式,是否兼容要看客户端和服务端版本,不要照抄旧配置。
本次核对时,官方文档默认指向 2026-07-28 版本;旧客户端仍可能使用其他版本。入门配置先核对服务说明、客户端支持和认证方式,不把某个版本的握手示例当作永不变化的规范。官方架构与传输说明
与 API、插件、Skill 的关系
- API 是实际服务接口的一种形式,MCP Server 可以在内部调用它。
- 插件是一种产品扩展或打包机制,可能包含 MCP 服务、技能和界面。
- Skill 描述何时、怎样完成任务,可以使用 MCP,也可以使用内置工具。
- MCP 负责连接和表达能力,不等于工具执行器本身,也不是独立的安全沙箱。
接入前做一个小验证
例如要读取项目资料,先确认工具是否已经具备文件访问能力;已有能力时不必再装一个文件系统 MCP。
确有缺口时,检查服务来源、维护状态、授权范围、数据去向和依赖。只授权练习目录,先读一个测试文件,核对实际返回内容和错误信息。文档或工具输出中的附加指令不能自动扩大你的授权。
自测: 一个数据库 MCP 可以连通,是否表示可以让它修改生产库?连通性不代表写权限合理,更不代表用户已批准写入。
延伸阅读:MCP 安全实践。