AI导航

MCP协议中的资源指什么?

AI百科
2 min read
21 次阅读

MCP协议中的“资源”究竟指什么?

一、资源的定义在 MCP(Model Context Protocol)中,“资源”是一种只读数据单元,由服务器暴露给客户端,用来为大型语言模型(LLM)提供上下文信息。它们通过统一 URI 标识,可被检索、缓存并在多轮对话中复用。

二、资源与工具的区别

  1. 控制权不同
    • 资源 → 应用端控制:客户端决定何时读取,用于丰富上下文。
    • 工具 → 模型端控制:LLM 主动调用,执行带副作用的操作。
  2. 副作用不同
    • 资源为纯读取,不会修改外部状态;
    • 工具通常包含写操作或触发外部服务。
  3. 调用成本
    • 资源读取轻量、可缓存;
    • 工具调用可能需要事务管理或权限校验。

三、资源的典型形态

  • 文件与文档:PDF、Markdown、代码片段等。
  • 数据库快照:表结构、查询结果集、统计摘要。
  • 应用数据:项目配置、Issue 列表、日志片段。
  • API 只读端点:如天气信息、库存查询 GET 接口。

四、生命周期与访问方式

  1. 声明:服务器在能力声明文件中列出可用资源及元数据(名称、URI、大小、MIME)。
  2. 检索:客户端通过 JSON-RPC 方法(如 mcp.getResource)按 URI 获取。
  3. 缓存:资源可在 Client 侧或 Host 网关进行版本化缓存,减少重复传输。
  4. 失效:若基础数据变更,服务器会推送事件或返回新版本号提醒刷新。

五、使用资源的最佳实践

  • 颗粒度适中:避免单个资源过大导致上下文爆炸。
  • 元数据丰富:提供摘要、哈希、最后更新时间,便于智能体判断是否加载。
  • 权限最小化:仅对需要的角色开放读取权限,防止敏感数据泄露。
  • 与工具配合:先读取资源了解上下文,再调用工具执行写操作,形成安全高效的工作流。

推荐工具

NVIDIA Chat with RTX AI聊天 Chat with RTX 是 NVIDIA 面向 RTX 电脑的本地 AI 聊天工具,可围绕本地文档和视频资料做问答,适合重视隐私、离线检索并具备硬件条件的用户更适合资料不便上传云 文心一言 AI聊天 文心一言 是百度文心大模型 AI 助手,支持百度 AI 聊天、文案创作和图像理解,适合中文用户和内容创作者完成 AI 对话、资料问答和任务协作,适合上线前核对权限、成本和资料质量。 HuggingChat AI聊天 HuggingChat 是 Hugging Face 的开源模型聊天应用,支持 Omni 自动选模型,也可手动选社区开放模型对话。它适合体验开源模型、技术探索和问答,结果可能不稳定,重要内容需复核。 纳米AI搜索 AI搜索 纳米AI 是 360 旗下 AI 搜索和智能体入口,支持文字、语音、拍照提问、多模型协作与内容创作,适合中文用户做日常搜索、学习问答、移动查询、热点追踪、生活决策、知识整理和轻量创作。 Meta AI AI聊天 Meta AI 是 Meta 的个人 AI 助手,可在网页、应用、AI 眼镜及 WhatsApp、Instagram 中使用,支持问答、图像理解和语音交流,适合社交与生活场景,部分功能受地区限制。 Pi AI AI聊天 Pi AI 是 Inflection AI 推出的个人 AI 助手,强调情绪理解、陪伴式交流、生产力建议和安全对话,可在 pi.ai 与移动端使用。它适合日常思考、学习陪练和规划,不替代专业心理支持。