上一篇讲了 MCP 是什么,提到它有三种能力。这一篇展开讲这三种——Tools、Resources、Prompts。
多数人接触 MCP 只用 Tools(它和上一篇的 @tool 概念一致)。但 Resources 和 Prompts 也是 MCP 的能力,各有用途。理解全部三种,才能用好 MCP。
三种能力一句话
先一句话概括:
| 能力 | 一句话 | 模型怎么用 |
|---|---|---|
| Tools | 模型可调用的函数 | 模型决定调用,传参,拿结果 |
| Resources | 模型可读的数据源 | 模型(或应用)读取,作为上下文 |
| Prompts | 可复用的 prompt 模板 | 应用加载,填变量,用 |
下面逐个讲。
Tools:模型调用的函数
这是最常用的,和上一篇 @tool 概念一致——模型可以「调用」的函数。
典型场景:查订单、发邮件、调外部 API。模型根据需要,决定调哪个工具、传什么参数,拿到结果继续推理。
关键特征:由模型主动决定调用。模型判断「这个问题需要查数据库」,于是调用数据库工具。工具是有副作用的(执行了什么操作)、有返回的(给了结果)。
Tools 是 MCP 最核心、最常用的能力。前面两篇(32、33)讲的基本都是它。
Resources:模型可读的数据
Resources 是模型(或应用)可以读取的数据源。和 Tools 不同,Resources 不是「调用执行」,而是「读取内容」。
典型场景:一份配置文档、一段产品说明、一个日志文件。把这些作为 Resource 暴露,应用可以读取它们,塞进模型的上下文。
关键特征:是数据,不是动作。Resources 提供的是「模型可以参考的信息」,而不是「模型可以执行的操作」。
什么时候用 Resource 而不是 RAG 检索?如果数据量小、结构固定、每次都要参考(比如产品规格表),直接作为 Resource 读取更简单;如果数据量大、要按相关性筛选,用 RAG 检索更合适。
Prompts:可复用的提示模板
Prompts 是标准化的、可复用的 prompt 模板。一个组织可以把常用的 prompt(比如「代码审查提示」「总结提示」)作为 MCP Prompt 暴露,不同应用加载使用。
关键特征:是 prompt,不是数据或动作。它解决的是「prompt 复用」问题——团队里每个人各写各的 prompt,质量参差;标准化成 MCP Prompt,大家用同一份经过打磨的。
这个能力目前用得相对少,但随着 prompt 工程的成熟,标准化复用 prompt 的需求会增长。
三者的区别与配合
| 维度 | Tools | Resources | Prompts |
|---|---|---|---|
| 本质 | 动作(函数) | 数据(内容) | 提示(模板) |
| 谁用 | 模型调用 | 应用/模型读取 | 应用加载 |
| 类比 | API 方法 | 配置文件 | 函数签名模板 |
三者可以配合:一个 MCP server 可能同时提供 Tools(让模型能操作)、Resources(给模型参考数据)、Prompts(标准化提示)。完整的 MCP 应用,三种能力都用上。
现实:Tools 主导,另两个在长
现实情况:Tools 是 MCP 当前绝对的主力,大多数 MCP server 只提供 Tools。Resources 和 Prompts 用得少,但概念上是 MCP 的一部分,未来可能长起来。
所以学 MCP,先吃透 Tools(已经够用),知道有 Resources 和 Prompts 这两个能力(遇到时不陌生),不用急着深入后两个。
收束:三种能力,Tools 为主
这一篇讲了 MCP 三种能力:
- Tools:模型调用的函数(最常用)
- Resources:模型可读的数据源
- Prompts:可复用的 prompt 模板
- 三者本质不同:动作、数据、提示
- 现实 Tools 主导,另两个在长
下一篇转到 Phase 5 的另一半——记忆:Agent 怎么记住上文。会讲 LangChain 的记忆是怎么实现的(state + middleware),不是什么神秘机制。
关于十三Tech
我是十三,All in AI Agent 方向的架构师,专注 AI 工程实践。我相信 AI 是程序员的最佳搭档。
如果你想跟完这套「图解 LangChain」,欢迎关注公众号 「十三Tech」。全系列 42 篇,会按认识基础、LangGraph 状态机、Agent 与 middleware、RAG 检索、Tools/MCP/记忆、生产化收束这条线更新。

