什么是MCP?
一、MCP 是为了解决什么问题而生的?大模型真正的痛点不在“聪不聪明”而在于模型 看不到真实系统模型 不会用工具模型 无法统一接入不同能力多模型时代 接口全乱换句话说:模型能“想”,但它不知道“世界长什么样”没有 MCP 的世界(真实写过代码的人都懂)假设你要做一个 Agent:查数据库查知识库调搜索执行代码你会写出这
作者:lh
一、MCP 是为了解决什么问题而生的?
大模型真正的痛点不在“聪不聪明”
而在于
- 模型 看不到真实系统
- 模型 不会用工具
- 模型 无法统一接入不同能力
- 多模型时代 接口全乱
换句话说:
模型能“想”,但它不知道“世界长什么样”
没有 MCP 的世界(真实写过代码的人都懂)
假设你要做一个 Agent:
- 查数据库
- 查知识库
- 调搜索
- 执行代码
你会写出这种东西
if model == "openai":
tool_schema = openai_tools
elif model == "claude":
tool_schema = claude_tools
elif model == "qwen":
tool_schema = qwen_tools
结果是:
- 工具 = 强绑定模型
- Agent = 难维护
- 多模型 = 灾难
MCP 就是在这个背景下诞生的。
二、MCP 的准确定义(不是营销版)
MCP(Model Context Protocol)是一种开放协议,用来标准化: 1)模型如何获取上下文 2)模型如何发现和调用外部能力 3)外部系统如何安全地向模型暴露能力
关键词:
协议 / 标准化 / 解耦 / 上下文
三、用一个类比彻底理解 MCP(非常重要)
MCP = USB-C 接口
| 世界 | 类比 |
|---|---|
| 模型 | 电脑 |
| 工具 / 数据 | 外设 |
| MCP | USB-C 协议 |
你插什么:
- 鼠标
- 键盘
- 显示器
电脑不关心
只要你符合 USB 协议
MCP 对模型也是一样。
四、MCP 的三大核心概念(这是“协议骨架”)
Model
↕ MCP
Context / Resources / Tools
三个关键词你必须记住:
Context(上下文)
模型“能看到的世界”
包括但不限于:
- 文本
- 文件
- 数据库
- 知识库
- 用户状态
- 历史任务
重点:
MCP 关心的是 “你怎么把世界描述给模型” 而不是模型本身。
Tools(工具)
模型可以“请求执行”的能力
例如:
- 搜索
- 查询数据库
- 运行代码
- 调用内部 API
MCP 要求:
- 明确输入
- 明确输出
- 可序列化
- 可验证
Resources(资源)
介于上下文和工具之间的“可访问对象”
例如:
- 一个 PDF
- 一个数据库连接
- 一个知识库索引
模型:
“我知道你存在,但我必须通过规则访问你”
五、MCP 的整体架构(工程视角)
┌───────────┐
│ Model │
└─────▲─────┘
│ MCP 协议
┌─────┴─────┐
│ MCP Client│
└─────▲─────┘
│
┌─────┴─────────────┐
│ MCP Server(s) │
│ Tools / Context │
└───────────────────┘
MCP Server(最重要)
它是能力提供者。
你可以把它理解为:
“给模型用的后端服务”
它做什么?
- 描述自己有什么能力
- 提供 schema
- 返回结果
它不关心你用 GPT、Qwen 还是 Claude。
MCP Client
- 在 Agent / 应用里
- 负责: 拉取能力列表 转发模型请求 回传执行结果
Model
模型只看到:
- Tool 描述
- Context 描述
它根本不知道:
“这是数据库还是 API”
六、MCP 的工作流程(一步一步)
举一个完整例子
目标:
“分析某公司是否值得长期投资”
Step 1:MCP Server 暴露能力
{
"name": "get_financial_report",
"input_schema": {
"ticker": "string"
}
}
Step 2:MCP Client 把能力告诉模型
模型看到的是:
“我可以调用 get_financial_report”
Step 3:模型决定调用工具
{
"tool": "get_financial_report",
"args": {
"ticker": "AAPL"
}
}
Step 4:MCP Server 执行并返回
{
"revenue": "...",
"profit": "..."
}
Step 5:结果作为 Context 回到模型
模型继续推理、规划、输出。
七、MCP vs Function Calling(重点)
| 维度 | Function Calling | MCP |
|---|---|---|
| 范围 | 单模型 | 跨模型 |
| 标准 | 私有 | 开放 |
| 工具 | 临时 | 长期 |
| 上下文 | 弱 | 强 |
| 工程扩展 | 差 | 好 |
一句话总结:
Function Calling 是“模型技能”, MCP 是“模型基础设施”。
八、MCP 在 Agent 系统中的位置
Agent
├─ Planner
├─ Memory
├─ Reasoner
└─ MCP Client
↓
MCP Servers
Agent 的“手和眼”,就是 MCP。
九、MCP 在真实企业中的价值(不是 PPT)
- 多团队独立开发 MCP Server
- Agent 统一接入
- 模型可随时替换
- 工具可复用
- 权限可控
这是企业级 AI 的标配,不是玩具。
十、最容易误解 MCP 的 5 个点(避坑)
MCP ≠ Agent 框架
MCP ≠ RAG
MCP ≠ Function Calling
MCP 不负责“聪明”
MCP 是 协议层
十一、你接下来怎么学 MCP(真建议)
如果你想 真正掌握:
写一个 最小 MCP Server
用一个 Agent 调它
再接第二个 Server
最后上多模型