MCP 协议 Resources(资源)完整解读
·
MCP 协议 Resources(资源)完整解读
一、原文完整翻译
Resources represent any kind of data that an MCP server wants to make available to clients. This can include: 翻译:资源(Resources)指代 MCP 服务器希望向客户端开放的任意类型数据,包含以下类别:
- File contents — 文件内容
- Database records — 数据库记录
- API responses — 接口返回数据
- Live system data — 系统实时运行数据
- Screenshots and images — 截图与图片
- Log files — 日志文件
- And more — 其他各类数据源
二、基础概念:什么是 MCP Resources
MCP 全称 Model Context Protocol(模型上下文协议),由 Anthropic 推出,是一套让 LLM 统一对接外部数据源的标准化通信协议。 Resources 是 MCP 三大核心原语之一,核心定位:
- 只读数据载体:类似 HTTP 的 GET 接口,仅用于读取数据,不能修改 / 写入外部系统(写入操作由 MCP Tools 实现);
- URI 唯一标识:每一份资源拥有独立 URI(如
file:///document/readme.md、db://user/1001),客户端通过 URI 精准拉取内容; - 为大模型提供上下文:客户端(如 Claude Desktop)可把资源内容注入 LLM 对话上下文,让 AI 读取本地文件、数据库、实时系统信息完成问答、分析任务Model Cont...。
资源核心特征
- 支持文本 / 二进制数据,附带 MIME 类型区分格式(Markdown、JSON、图片、日志等);
- 分为静态资源(启动时预加载,如固定配置文件)、动态资源(实时生成,如实时系统监控数据、实时接口返回);
- 由客户端自主控制是否加载资源,例如 Claude 桌面端需要用户手动勾选资源才能注入上下文。
三、图中各类资源场景详解
- File contents 文件内容 本地 / 服务器任意文本、代码、文档文件,MCP 文件服务器可暴露项目源码、配置、Markdown 文档,AI 可直接读取代码做审查、解读文档。
- Database records 数据库记录 MySQL/PostgreSQL 等库的单条数据表、查询结果,AI 无需手动写 SQL,通过资源 URI 直接读取业务数据做统计分析。
- API responses 接口响应 第三方服务返回的 JSON / 结构化数据,例如天气接口、订单服务、网盘接口数据,作为上下文交给 AI 处理。
- Live system data 实时系统数据 服务器 CPU / 内存占用、进程状态、硬件指标、实时监控指标,AI 可实时分析系统负载、排查故障。
- Screenshots and images 截图与图像 二进制图片资源,附带图片 MIME 类型,支持多模态模型读取图片内容、OCR 识别。
- Log files 日志文件 程序运行日志、报错日志、运维日志,AI 读取日志自动定位报错原因、梳理运行流程。
- And more 扩展场景 邮件内容、PDF 文档、音视频元数据、Git 提交记录、云存储文件等所有可读外部数据。
四、Resources 和 Tools 的核心区分(易混淆点)
表格
| 维度 | Resources(资源) | Tools(工具) |
|---|---|---|
| 操作权限 | 只读,仅拉取数据 | 可读写、执行操作(增删改查、运行脚本、发送请求) |
| 使用逻辑 | 获取已有数据作为上下文 | 主动发起动作、修改外部系统 |
| 类比 | 文件浏览器、数据查询接口 | 函数调用、脚本执行器 |
五、典型工作流程示例
- MCP 服务端注册资源列表:
file://project/code.py、db://order/today、log://server/error.log; - 客户端(Claude)拉取全部资源列表展示给用户;
- 用户选中日志资源,客户端通过 URI 请求资源内容;
- MCP 服务器读取日志文件,返回文本内容;
- 客户端将日志内容注入 LLM 上下文,AI 根据日志排查程序报错。
💡 一句话总结:Resources 就是给大模型看的所有外部可读数据源,统一标准化读取接口,让 AI 无缝对接本地、数据库、实时系统等各类信息。
更多推荐


所有评论(0)