MCP & A2A 前沿实战
15
15
1.0x
00:00/00:00
登录|注册

08|资源发现:为大模型提供服务器端的数据内容

你好,我是黄佳。
从这节课开始,我们将通过理论讲解和代码示例相配合的方式,来深入探讨一系列 MCP 协议中的核心概念(MCP 官方文档中把这些概念称为原语——Primitives,其实就是核心概念的意思)。
这节课将详细介绍什么是 MCP 中的资源(Resources),包括其定义、结构、类型、实现方式及最佳实践,帮你全面了解资源在增强 AI 驱动应用中的作用。

什么是 MCP 中的资源

资源是 Model Context Protocol(MCP)中的核心原语之一,用于将服务器端的数据内容通过可以被客户端读取的方式暴露给 LLM,用作对话或生成时的上下文。
这里的资源可以是任意类型的文本或二进制数据,包括文件内容、数据库记录、API 响应、日志、截图、音频、视频等。
每个资源都由唯一的 URI 确定,遵循通用的 [协议]://[主机]/[路径] 形式,例如:
file:///home/user/docs/report.pdf
postgres://db.example.com/customers/schema
screen://localhost/display
服务器可根据需要自定义 URI 方案,并在文档中说明各字段含义。
资源是应用控制的,意味着客户端应用程序可以决定如何以及何时使用这些资源。例如,应用可以树状或列表视图通过 UI 元素展示可选资源,或允许用户搜索和过滤可用资源。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. MCP资源的定义和发现是指服务器如何声明能提供的各种数据内容,以及客户端如何探测并访问这些资源。 2. 服务器通过装饰器或注册函数来实现资源定义接口,客户端可以通过直接列出或URI模板的方式来发现可用资源。 3. 客户端可以通过resources/list请求来列出可用资源,服务器返回一组具体的资源对象,也可以通过resources/read请求指定URI来读取资源内容。 4. MCP支持实时通知机制,客户端可以订阅某个URI的内容更新,服务器在资源变化时用notifications/resources/updated通知客户端。 5. MCP资源最佳实践包括URI设计、名称与描述、MIME类型、订阅机制、分页与缓存等。 6. MCP协议通过资源模板实现访问动态资源,并支持资源订阅和更新通知。 7. 在实际生产系统中,要实现真实的资源读取逻辑、添加访问控制、实现真实的资源更新机制、增强错误与安全检查,需要注意输入验证、访问控制、数据清理、传输加密、速率限制等要点。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《MCP & A2A 前沿实战》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)