pub struct Resource {
pub annotations: Option<Annotations>,
pub description: Option<String>,
pub meta: Option<Map<String, Value>>,
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.
JSON schema
{
"description": "A known resource that the server is capable of reading.",
"type": "object",
"required": [
"name",
"uri"
],
"properties": {
"_meta": {
"description": "See [specification/2025-06-18/basic/index#general-fields] for notes on _meta usage.",
"type": "object",
"additionalProperties": {}
},
"annotations": {
"description": "Optional annotations for the client.",
"$ref": "#/definitions/Annotations"
},
"description": {
"description": "A description of what this resource represents.\n\nThis 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.",
"type": "string"
},
"mimeType": {
"description": "The MIME type of this resource, if known.",
"type": "string"
},
"name": {
"description": "Intended for programmatic or logical use, but used as a display name in past specs or fallback (if title isn't present).",
"type": "string"
},
"size": {
"description": "The size of the raw resource content, in bytes (i.e., before base64 encoding or any tokenization), if known.\n\nThis can be used by Hosts to display file sizes and estimate context window usage.",
"type": "integer"
},
"title": {
"description": "Intended for UI and end-user contexts — optimized to be human-readable and easily understood,\neven by those unfamiliar with domain-specific terminology.\n\nIf not provided, the name should be used for display (except for Tool,\nwhere annotations.title should be given precedence over using name,\nif present).",
"type": "string"
},
"uri": {
"description": "The URI of this resource.",
"type": "string",
"format": "uri"
}
}
}
Fields§
§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.
meta: Option<Map<String, Value>>
See [specification/2025-06-18/basic/index#general-fields] for notes on _meta usage.
mime_type: Option<String>
The MIME type of this resource, if known.
name: String
Intended 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: String
The URI of this resource.