pub struct Prompt {
pub arguments: Vec<PromptArgument>,
pub description: Option<String>,
pub icons: Vec<Icon>,
pub meta: Option<Map<String, Value>>,
pub name: String,
pub title: Option<String>,
}Expand description
A prompt or prompt template that the server offers.
JSON schema
{
"description": "A prompt or prompt template that the server offers.",
"type": "object",
"required": [
"name"
],
"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": {}
},
"arguments": {
"description": "A list of arguments to use for templating the prompt.",
"type": "array",
"items": {
"$ref": "#/$defs/PromptArgument"
}
},
"description": {
"description": "An optional description of what this prompt provides",
"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"
}
},
"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"
}
}
}Fields§
§arguments: Vec<PromptArgument>A list of arguments to use for templating the prompt.
description: Option<String>An optional description of what this prompt provides
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.
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).