资源与提示词
6.1 Resources(资源)详解
Resources让Server向AI应用暴露数据。和Tools的区别:资源URI
每个资源有唯一的URI标识:URI模板(RFC 6570)
MCP支持RFC 6570 URI模板语法,用于定义动态资源。Server在resources/list 返回中可以包含URI模板,Client通过模板变量填充来请求具体资源:
Annotations(资源注解)
每个资源可以携带Annotations元数据,帮助Host决定如何使用资源:资源订阅
如果Server在初始化时声明resources: { subscribe: true },Client可以订阅资源变化:
resources/read 获取最新数据。这种模式适合实时性要求高的场景,如库存监控。
取消订阅:
资源列表变更通知
当Server的资源集合发生变化(新增或移除资源),可通知Client:resources/list 获取最新的资源列表。
实现示例
6.2 Prompts(提示词模板)详解
Prompts是Server预定义的交互模板。与Tools和Resources不同,Prompts是用户控制的 — 用户在Host应用中主动选择使用哪个模板。提示词结构
获取提示词(带参数)
商务场景的提示词示例
多消息提示词
Prompts可以返回多条消息,包括system角色:嵌入资源的提示词
Prompts中的消息可以使用embedded_resource 类型嵌入资源数据:
何时用Prompt vs Tool vs Resource
下一章: 安全与认证 — OAuth 2.1集成和权限管理