核心观点
一位 Anthropic 工程师在社区中指出:大多数人只用到了 MCP 的冰山一角。
大多数开发者对 MCP 的理解停留在:
“接入一个 MCP Server → 调用一个函数 → 获取结果”
这种”工具调用”模式只是 MCP 能力的最浅层。MCP 的真正价值远不止于此。
MCP 的三层能力模型
第一层:工具调用(大多数人停留的地方)
Agent → MCP Server → 调用工具 → 返回结果
这就是 90% 的开发者目前的使用方式。接入一个 MCP Server,调用一个函数,拿到结果。有用,但远不够。
第二层:资源订阅与流式传输
MCP 支持**资源(Resources)**的概念,不仅仅是工具(Tools):
- 静态资源:文件、数据库记录、配置信息
- 动态资源:实时数据流、日志、监控指标
- 资源订阅:Agent 可以订阅资源变化,而非每次主动查询
这意味着 Agent 不需要反复轮询,而是被动接收更新——这在长期运行的 Agent 场景中至关重要。
第三层:上下文管理与动态发现
MCP 的深层能力:
- 提示词注入:MCP Server 可以向 Agent 注入系统级提示,告知可用能力和使用约束
- 动态发现:Agent 运行时动态发现新的工具和能力,而非预定义
- 多 Server 协调:多个 MCP Server 之间可以共享上下文和资源
被忽视的高价值用法
| 用法 | 当前采用率 | 价值等级 |
|---|---|---|
| 基础工具调用 | 90%+ | 基础 |
| 资源流式订阅 | ~15% | 高 |
| 动态工具发现 | ~10% | 极高 |
| 多 Server 上下文共享 | ~5% | 极高 |
| 提示词注入与自描述 | ~20% | 高 |
实际案例:MCP 不只是”查天气”
假设你有一个数据库查询 MCP Server:
❌ 基础用法:Agent 调用 query_database 函数,传入 SQL,返回结果。
✅ 进阶用法:
- MCP Server 注入提示词,告知 Agent 数据库 schema、索引情况、查询限制
- Agent 订阅特定表的变更事件,数据更新时自动收到通知
- MCP Server 根据查询复杂度自动选择最优执行策略
- 多个 MCP Server 共享查询缓存,避免重复计算
行动建议
- 现有 MCP 用户:检查你的 MCP Server 是否启用了资源(Resources)和提示词(Prompts)功能,而不仅仅是工具(Tools)
- MCP Server 开发者:考虑添加资源订阅能力,让 Agent 可以”被动等待”而非”主动轮询”
- Agent 框架用户:关注 OpenClaw、Hermes 等框架对 MCP 资源订阅和动态发现的支持进展
- 架构设计者:将 MCP 视为 Agent 与外部系统的通用通信层,而非简单的函数调用接口
总结
MCP 正在从”工具调用协议”进化为”Agent-系统通信基础设施”。尽早理解并采用其深层能力,将在 Agent 应用架构中建立显著优势。