AI导航

MCP协议中的资源指什么?

AI百科
2 min read
22 次阅读

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 聊天工具,可围绕本地文档和视频资料做问答,适合重视隐私、离线检索并具备硬件条件的用户更适合资料不便上传云 HuggingChat AI聊天 HuggingChat 是 Hugging Face 的开源模型聊天应用,支持 Omni 自动选模型,也可手动选社区开放模型对话。它适合体验开源模型、技术探索和问答,结果可能不稳定,重要内容需复核。 纳米AI搜索 AI搜索 纳米AI 是 360 旗下 AI 搜索和智能体入口,支持文字、语音、拍照提问、多模型协作与内容创作,适合中文用户做日常搜索、学习问答、移动查询、热点追踪、生活决策、知识整理和轻量创作。 Qwen Chat(通义千问) AI聊天 Qwen Chat 是Qwen 大模型聊天助手,支持Qwen 模型聊天、写作和编程问答,适合中文用户和开发者完成 AI 对话、资料问答和任务协作,适合上线前核对权限、成本和资料质量。 DuckDuckGo AI Chat AI聊天 DuckDuckGo AI Chat 适合重视隐私的普通用户使用,围绕隐私 AI 聊天、免账户使用和多模型问答提供对话式 AI 支持和任务协作能力,适合上线前核对权限、成本和资料质量。 Goody-2 AI聊天 Goody-2 是以极端安全和伦理对齐为特色的 AI 聊天助手,常用于观察模型拒答边界、内容安全策略、保守输出体验和 AI 风险讨论,更适合作为安全边界样本使用前应理解它偏实验性质,不适合。