什么是 MCP 资源(MCP Resource)?
MCP 资源(MCP Resource)是 MCP Server 暴露的读取型上下文原语,表示文件、记录、文档、Schema、仓库状态或生成视图等可供 AI 应用检查的数据。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
MCP 资源让 AI 应用访问上下文数据,而不一定执行动作。它适合暴露文档、文件内容、数据库记录、日志、API 对象,或项目摘要等合成视图。资源应有稳定 URI、清晰内容类型和权限规则。不能默认认为资源无害:资源内容可能包含敏感数据或提示词注入文本,影响下游模型行为。
主要特点
- 读取型原语:暴露上下文,而不是可执行操作
- 可寻址数据:通常由 URI 或其他稳定资源标识符识别
- 类型化内容:可包含文本、JSON、二进制元数据、Schema 或结构化记录
- 权限敏感:应遵守用户、工作区、租户和数据分级边界
- 注入感知:不可信资源内容必须与指令分离
常见用途
- 向编程助手提供选定项目文件的只读访问
- 暴露数据库 Schema 信息,而不允许任意查询
- 返回文档或知识库页面,为模型提供事实依据
- 把日志、指标摘要或 Issue 详情作为上下文提供
- 在 Agent 执行工具前提供可复用参考数据
示例
loading...
Loading code...常见问题
MCP Resource 和 MCP Tool 有什么区别?
Resource 主要是读取上下文。Tool 会执行操作。读取文档通常是 Resource 模式,而创建工单或发送消息属于 Tool 模式。
MCP Resource 可以是动态的吗?
可以。Resource 可以表示生成或计算得到的视图,例如当前仓库摘要,只要 Server 能一致地描述和更新它。
MCP Resource 只读就安全吗?
不一定。只读内容仍可能包含密钥、个人数据或提示词注入指令。Host 和 Agent 应把资源内容视为数据,而不是可信指令。
Resource 应暴露哪些元数据?
有用元数据包括 URI、名称、MIME 类型、描述、来源、新鲜度、权限,以及引用或审计所需的标识符。