using System.Text.Json.Serialization; namespace ModelContextProtocol.Protocol; /// /// Represents a prompt that the server offers. /// /// /// See the schema for details. /// public class Prompt { /// /// Gets or sets a list of arguments that this prompt accepts for templating and customization. /// /// /// /// This list defines the arguments that can be provided when requesting the prompt. /// Each argument specifies metadata like name, description, and whether it's required. /// /// /// When a client makes a request, it can provide values for these arguments /// which will be substituted into the prompt template or otherwise used to render the prompt. /// /// [JsonPropertyName("arguments")] public List? Arguments { get; set; } /// /// Gets or sets an optional description of what this prompt provides. /// /// /// /// This description helps developers understand the purpose and use cases for the prompt. /// It should explain what the prompt is designed to accomplish and any important context. /// /// /// The description is typically used in documentation, UI displays, and for providing context /// to client applications that may need to choose between multiple available prompts. /// /// [JsonPropertyName("description")] public string? Description { get; set; } /// /// Gets or sets the name of the prompt. /// [JsonPropertyName("name")] public string Name { get; set; } = string.Empty; }