摘要音频
本节课没有语音摘要。
学习笔记
MCP 服务器中的资源 (Resources in MCP Servers)
核心概念 (Key Concepts):
- 资源的作用 (Purpose of Resources):
- 允许 MCP 服务器向客户端暴露数据 (Allows the MCP server to expose data to the client).
- 用于实现特定的读取操作 (Used to implement distinct read operations).
- 应用场景 (Use Case - Document Mention):
- 实现用户在消息中提到文档(如 @report. pdf)的功能。
- 流程 1 (Autocomplete): 用户输入 @ 时,MCP 服务器提供所有可用文档的列表。
- 流程 2 (Content Fetch): 用户提交包含文档提及的消息时,MCP 服务器提供指定文档的完整内容。
- 资源类型 (Types of Resources):
- 直接资源 (Direct/Static Resource):
- 具有固定的 URI (Has a static URI).
- 示例: docs://documents。
- 模板资源 (Templated Resource):
- URI 中包含一个或多个参数(通配符)(URI contains one or more parameters/wildcards).
- MCP SDK 会自动解析 URI 中的参数,并将其作为关键字参数传递给函数 (MCP SDK automatically parses URI parameters and passes them as keyword arguments to the function).
- 示例: documents/{doc_id}。
- 资源定义 (Resource Definition):
- 使用 @mcp. resource 装饰器定义。
- 参数:
- uri: 资源的访问地址(类似于路由处理器)。
- mime_type: 告知客户端返回的数据类型(如 application/json 或 text/plain)。
- 返回值: 资源函数返回的数据会被 MCP SDK 自动序列化成字符串。
实现细节 (Implementation Details):
- 文档列表资源 (List Documents Resource):
- 类型: 直接资源 (Direct Resource)。
- URI: docs://documents。
- 返回内容: 文档 ID 的列表(List of strings)。
- MIME Type: application/json。
- 获取文档内容资源 (Fetch Document Resource):
- 类型: 模板资源 (Templated Resource)。
- URI: documents/{doc_id} (使用通配符)。
- 参数处理: doc_id 会自动作为关键字参数传入函数。
- 返回内容: 文档的纯文本内容(String)。
- MIME Type: text/plain。
- 客户端交互 (Client Interaction):
- 客户端通过 MCP 客户端向 MCP 服务器发送读取资源请求 (Read Resource Request)。
- 请求中包含资源的 URI。
- 服务器返回一个包含数据的读取资源结果消息 (Read Resource Result Message)。
Takeaways
- 资源的作用是允许MCP服务器向客户端暴露数据,并实现特定的读取操作。
- 资源分为直接资源(具有固定URI)和模板资源(URI中包含一个或多个参数/通配符)。
- 模板资源的关键在于MCP SDK会自动解析URI中的参数,并将其作为关键字参数传递给函数。
- 资源使用@mcp. resource装饰器定义,必须指定资源的访问地址(uri)和返回的数据类型(mime_type)。
抽认卡 10 张卡片
问题
点击显示 · ←/→
答案
点击翻回
知识检测 0 题
No quiz for this lesson yet.