上一篇讲了 MCP 是什么,提到它有三种能力。这一篇展开讲这三种——Tools、Resources、Prompts

多数人接触 MCP 只用 Tools(它和上一篇的 @tool 概念一致)。但 Resources 和 Prompts 也是 MCP 的能力,各有用途。理解全部三种,才能用好 MCP。

三种能力一句话

先一句话概括:

能力 一句话 模型怎么用
Tools 模型可调用的函数 模型决定调用,传参,拿结果
Resources 模型可读的数据源 模型(或应用)读取,作为上下文
Prompts 可复用的 prompt 模板 应用加载,填变量,用

三种能力一句话

下面逐个讲。

Tools:模型调用的函数

这是最常用的,和上一篇 @tool 概念一致——模型可以「调用」的函数。

典型场景:查订单、发邮件、调外部 API。模型根据需要,决定调哪个工具、传什么参数,拿到结果继续推理。

Tools:模型主动调用

关键特征:由模型主动决定调用。模型判断「这个问题需要查数据库」,于是调用数据库工具。工具是有副作用的(执行了什么操作)、有返回的(给了结果)。

Tools 是 MCP 最核心、最常用的能力。前面两篇(32、33)讲的基本都是它。

Resources:模型可读的数据

Resources 是模型(或应用)可以读取的数据源。和 Tools 不同,Resources 不是「调用执行」,而是「读取内容」。

典型场景:一份配置文档、一段产品说明、一个日志文件。把这些作为 Resource 暴露,应用可以读取它们,塞进模型的上下文。

Resources:读取作为上下文

关键特征:是数据,不是动作。Resources 提供的是「模型可以参考的信息」,而不是「模型可以执行的操作」。

什么时候用 Resource 而不是 RAG 检索?如果数据量小、结构固定、每次都要参考(比如产品规格表),直接作为 Resource 读取更简单;如果数据量大、要按相关性筛选,用 RAG 检索更合适。

Prompts:可复用的提示模板

Prompts 是标准化的、可复用的 prompt 模板。一个组织可以把常用的 prompt(比如「代码审查提示」「总结提示」)作为 MCP Prompt 暴露,不同应用加载使用。

Prompts:可复用模板

关键特征:是 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/记忆、生产化收束这条线更新。

十三Tech公众号二维码