Claude With Amazon Bedrock
← 所有课程
课程 60Claude With Amazon Bedrock

Defining resources

摘要音频

本节课没有语音摘要。

学习笔记

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 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 0 题

No quiz for this lesson yet.