using System.Text.Json; using System.Text.Json.Serialization; namespace ModelContextProtocol.Protocol; /// /// Represents the parameters used with a request from a client to invoke a tool provided by the server. /// /// /// The server will respond with a containing the result of the tool invocation. /// See the schema for details. /// public sealed class CallToolRequestParams : RequestParams { /// Gets or sets the name of the tool to invoke. [JsonPropertyName("name")] public required string Name { get; init; } /// /// Gets or sets optional arguments to pass to the tool when invoking it on the server. /// /// /// This dictionary contains the parameter values to be passed to the tool. Each key-value pair represents /// a parameter name and its corresponding argument value. /// [JsonPropertyName("arguments")] public IReadOnlyDictionary? Arguments { get; init; } }