using System.Text.Json.Serialization; namespace ModelContextProtocol.Protocol; /// /// Represents an argument that a prompt can accept for templating and customization. /// /// /// /// The class defines metadata for arguments that can be provided /// to a prompt. These arguments are used to customize or parameterize prompts when they are /// retrieved using requests. /// /// /// See the schema for details. /// /// public sealed class PromptArgument : IBaseMetadata { /// [JsonPropertyName("name")] public required string Name { get; set; } /// [JsonPropertyName("title")] public string? Title { get; set; } /// /// Gets or sets a human-readable description of the argument's purpose and expected values. /// /// /// This description helps developers understand what information should be provided /// for this argument and how it will affect the generated prompt. /// [JsonPropertyName("description")] public string? Description { get; set; } /// /// Gets or sets a value that indicates whether this argument must be provided when requesting the prompt. /// /// /// When set to , the client must include this argument when making a request. /// If a required argument is missing, the server should respond with an error. /// [JsonPropertyName("required")] public bool? Required { get; set; } }