From 6a38242fc2b66e46414f6953e4eeaee5dbc4da05 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Feb 2026 16:05:01 -0500 Subject: [PATCH] Clarify request-scoped tool semantics in CreateMessageRequestParams (#1295) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com> --- .../Protocol/CreateMessageRequestParams.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ModelContextProtocol.Core/Protocol/CreateMessageRequestParams.cs b/src/ModelContextProtocol.Core/Protocol/CreateMessageRequestParams.cs index 07f52e6..2c029ba 100644 --- a/src/ModelContextProtocol.Core/Protocol/CreateMessageRequestParams.cs +++ b/src/ModelContextProtocol.Core/Protocol/CreateMessageRequestParams.cs @@ -137,12 +137,19 @@ public sealed class CreateMessageRequestParams : RequestParams /// /// Gets or sets tools that the model can use during generation. /// + /// + /// The tool definitions in this array are scoped to this sampling request. + /// They do not need to correspond to tools registered on the server via . + /// [JsonPropertyName("tools")] public IList? Tools { get; set; } /// /// Gets or sets controls for how the model uses tools. /// + /// + /// This controls whether and how the model uses the request-scoped during sampling. + /// [JsonPropertyName("toolChoice")] public ToolChoice? ToolChoice { get; set; }