pub struct ResourceTemplate {
pub annotations: Option<Annotations>,
pub description: Option<String>,
pub icons: Vec<Icon>,
pub meta: Option<Map<String, Value>>,
pub mime_type: Option<String>,
pub name: String,
pub title: Option<String>,
pub uri_template: String,
}Expand description
A template description for resources available on the server.
JSON schema
{
"description": "A template description for resources available on the server.",
"type": "object",
"required": [
"name",
"uriTemplate"
],
"properties": {
"_meta": {
"description": "See [General fields: _meta](https://modelcontextprotocol.io/specification/2025-11-25/basic/index#meta) for notes on _meta usage.",
"type": "object",
"additionalProperties": {}
},
"annotations": {
"description": "Optional annotations for the client.",
"$ref": "#/$defs/Annotations"
},
"description": {
"description": "A description of what this template is for.\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"
},
"icons": {
"description": "Optional set of sized icons that the client can display in a user interface.\n\nClients that support rendering icons MUST support at least the following MIME types:\n- image/png - PNG images (safe, universal compatibility)\n- image/jpeg (and image/jpg) - JPEG images (safe, universal compatibility)\n\nClients that support rendering icons SHOULD also support:\n- image/svg+xml - SVG images (scalable but requires security precautions)\n- image/webp - WebP images (modern, efficient format)",
"type": "array",
"items": {
"$ref": "#/$defs/Icon"
}
},
"mimeType": {
"description": "The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type.",
"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"
},
"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"
},
"uriTemplate": {
"description": "A URI template (according to RFC 6570) that can be used to construct resource URIs.",
"type": "string",
"format": "uri-template"
}
}
}Fields§
§annotations: Option<Annotations>Optional annotations for the client.
description: Option<String>A description of what this template is for. 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: 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 (and image/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)
meta: Option<Map<String, Value>>See General fields: _meta for notes on _meta usage.
mime_type: Option<String>The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type.
name: StringIntended for programmatic or logical use, but used as a display name in past specs or fallback (if title isn’t present).
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_template: StringA URI template (according to RFC 6570) that can be used to construct resource URIs.
Trait Implementations§
Source§impl Clone for ResourceTemplate
impl Clone for ResourceTemplate
Source§fn clone(&self) -> ResourceTemplate
fn clone(&self) -> ResourceTemplate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more