一句话定义
MCP 是一套客户端与服务器之间的标准协议,让模型应用可以用统一方式发现和调用外部工具、读取资源和获取提示模板。
它解决什么
没有统一协议时,每个模型客户端都要为每个工具单独写适配,形成 M×N 的集成爆炸。MCP 把工具提供方抽象成服务器,把模型应用抽象成客户端,双方只需实现一套协议,就能互相组合。
核心概念
- Tools:可执行的动作,带参数 schema,模型可以请求调用。
- Resources:可读取的数据,例如文件、数据库记录、文档片段。
- Prompts:可复用的提示模板,由服务器提供给客户端。
- 传输层:本地常用标准输入输出,远程常用 HTTP 等传输方式。
- 能力协商:客户端和服务器在连接时声明各自支持的能力。
与函数调用的区别
函数调用是模型的一种能力:模型输出结构化参数,由应用执行。MCP 是集成协议:它规定工具如何被发现、描述和调用。两者互补——模型通过函数调用表达意图,客户端通过 MCP 找到并执行对应工具。
工程要点
- 工具描述要清晰,参数和返回值尽量结构化。
- 服务器应遵循最小权限,敏感操作需要用户确认。
- 远程服务器要处理认证、超时和错误传播。
- 工具结果会进入 上下文窗口,需要控制体积,避免挤占有效信息。
用在哪里
- 一个客户端要接入多种工具/数据源,想避免重复写适配层时。
- 需要把本地文件、数据库或第三方 API 以统一方式暴露给 Agent。
常见误区
- MCP 不是模型本身的推理能力,它只是接入层。
- 接入 MCP 不等于 Agent 一定可靠,工具质量和编排逻辑仍然是关键。
- MCP 不能替代 RAG:检索策略和知识组织仍需单独设计。