pub struct Resource {
pub meta: Option<Map<String, Value>>,
pub annotations: Option<Annotations>,
pub description: Option<String>,
pub icons: Option<Vec<Icon>>,
pub mime_type: Option<String>,
pub name: String,
pub size: Option<i64>,
pub title: Option<String>,
pub uri: String,
}Expand description
A known resource that the server is capable of reading.
Fields§
§meta: Option<Map<String, Value>>§annotations: Option<Annotations>Optional annotations for the client.
description: Option<String>A description of what this resource represents.
This can be used by clients to improve the LLM’s understanding of available resources. It can be thought of like a “hint” to the model.
icons: Option<Vec<Icon>>Optional set of sized icons that the client can display in a user interface.
Clients that support rendering icons MUST support at least the following MIME types:
image/png- PNG images (safe, universal compatibility)image/jpeg(andimage/jpg) - JPEG images (safe, universal compatibility)
Clients that support rendering icons SHOULD also support:
image/svg+xml- SVG images (scalable but requires security precautions)image/webp- WebP images (modern, efficient format)
mime_type: Option<String>The MIME type of this resource, if known.
name: StringIntended for programmatic or logical use, but used as a display name in past specs or fallback (if title isn’t present).
size: Option<i64>The size of the raw resource content, in bytes (i.e., before base64 encoding or any tokenization), if known.
This can be used by Hosts to display file sizes and estimate context window usage.
title: Option<String>Intended for UI and end-user contexts — optimized to be human-readable and easily understood, even by those unfamiliar with domain-specific terminology.
If not provided, the name should be used for display (except for Tool,
where annotations.title should be given precedence over using name,
if present).
uri: StringThe URI of this resource.