Skip to content

Commit d540dc1

Browse files
Make RequestId non-required (#984)
1 parent 9e21d3e commit d540dc1

File tree

6 files changed

+2
-20
lines changed

6 files changed

+2
-20
lines changed

src/ModelContextProtocol.AspNetCore/StreamableHttpHandler.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,6 @@ private static Task WriteJsonRpcErrorAsync(HttpContext context, string errorMess
250250
{
251251
var jsonRpcError = new JsonRpcError
252252
{
253-
Id = default,
254253
Error = new()
255254
{
256255
Code = errorCode,

src/ModelContextProtocol.Core/Protocol/JsonRpcMessageWithId.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ private protected JsonRpcMessageWithId()
2626
/// Each ID is expected to be unique within the context of a given session.
2727
/// </remarks>
2828
[JsonPropertyName("id")]
29-
public required RequestId Id { get; set; }
29+
public RequestId Id { get; set; }
3030
}

tests/ModelContextProtocol.AspNetCore.Tests/StatelessServerTests.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ public static async Task<string> TestSamplingErrors(McpServer server)
203203

204204
var ex = await Assert.ThrowsAsync<InvalidOperationException>(() => server.SendRequestAsync(new JsonRpcRequest
205205
{
206-
Id = default,
207206
Method = RequestMethods.SamplingCreateMessage
208207
}));
209208
return ex.Message;
@@ -222,7 +221,6 @@ public static async Task<string> TestRootsErrors(McpServer server)
222221

223222
var ex = await Assert.ThrowsAsync<InvalidOperationException>(() => server.SendRequestAsync(new JsonRpcRequest
224223
{
225-
Id = default,
226224
Method = RequestMethods.RootsList
227225
}));
228226
return ex.Message;
@@ -241,7 +239,6 @@ public static async Task<string> TestElicitationErrors(McpServer server)
241239

242240
var ex = await Assert.ThrowsAsync<InvalidOperationException>(() => server.SendRequestAsync(new JsonRpcRequest
243241
{
244-
Id = default,
245242
Method = RequestMethods.ElicitationCreate
246243
}));
247244
return ex.Message;

tests/ModelContextProtocol.Tests/Client/McpClientExtensionsTests.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@ public async Task PingAsync_Forwards_To_McpClient_SendRequestAsync()
204204
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
205205
.ReturnsAsync(new JsonRpcResponse
206206
{
207-
Id = default,
208207
Result = JsonSerializer.SerializeToNode(new object(), McpJsonUtilities.DefaultOptions),
209208
});
210209

@@ -226,7 +225,6 @@ public async Task GetPromptAsync_Forwards_To_McpClient_SendRequestAsync()
226225
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
227226
.ReturnsAsync(new JsonRpcResponse
228227
{
229-
Id = default,
230228
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
231229
});
232230

@@ -249,7 +247,6 @@ public async Task CallToolAsync_Forwards_To_McpClient_SendRequestAsync()
249247
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
250248
.ReturnsAsync(new JsonRpcResponse
251249
{
252-
Id = default,
253250
Result = JsonSerializer.SerializeToNode(callResult, McpJsonUtilities.DefaultOptions),
254251
});
255252

@@ -270,7 +267,6 @@ public async Task SubscribeToResourceAsync_Forwards_To_McpClient_SendRequestAsyn
270267
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
271268
.ReturnsAsync(new JsonRpcResponse
272269
{
273-
Id = default,
274270
Result = JsonSerializer.SerializeToNode(new EmptyResult(), McpJsonUtilities.DefaultOptions),
275271
});
276272

@@ -290,7 +286,6 @@ public async Task UnsubscribeFromResourceAsync_Forwards_To_McpClient_SendRequest
290286
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
291287
.ReturnsAsync(new JsonRpcResponse
292288
{
293-
Id = default,
294289
Result = JsonSerializer.SerializeToNode(new EmptyResult(), McpJsonUtilities.DefaultOptions),
295290
});
296291

@@ -313,7 +308,6 @@ public async Task CompleteAsync_Forwards_To_McpClient_SendRequestAsync()
313308
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
314309
.ReturnsAsync(new JsonRpcResponse
315310
{
316-
Id = default,
317311
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
318312
});
319313

@@ -336,7 +330,6 @@ public async Task ReadResourceAsync_String_Forwards_To_McpClient_SendRequestAsyn
336330
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
337331
.ReturnsAsync(new JsonRpcResponse
338332
{
339-
Id = default,
340333
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
341334
});
342335

@@ -359,7 +352,6 @@ public async Task ReadResourceAsync_Uri_Forwards_To_McpClient_SendRequestAsync()
359352
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
360353
.ReturnsAsync(new JsonRpcResponse
361354
{
362-
Id = default,
363355
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
364356
});
365357

@@ -382,7 +374,6 @@ public async Task ReadResourceAsync_Template_Forwards_To_McpClient_SendRequestAs
382374
.Setup(c => c.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
383375
.ReturnsAsync(new JsonRpcResponse
384376
{
385-
Id = default,
386377
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
387378
});
388379

tests/ModelContextProtocol.Tests/McpEndpointExtensionsTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public async Task SendRequestAsync_Generic_Forwards_To_McpSession_SendRequestAsy
5757
.Setup(s => s.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
5858
.ReturnsAsync(new JsonRpcResponse
5959
{
60-
Id = default,
6160
Result = JsonSerializer.SerializeToNode(42, McpJsonUtilities.DefaultOptions),
6261
});
6362

tests/ModelContextProtocol.Tests/Server/McpServerExtensionsTests.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ public async Task SampleAsync_Request_Forwards_To_McpServer_SendRequestAsync()
9494
.Setup(s => s.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
9595
.ReturnsAsync(new JsonRpcResponse
9696
{
97-
Id = default,
9897
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
9998
});
10099

@@ -146,7 +145,6 @@ public async Task SampleAsync_Messages_Forwards_To_McpServer_SendRequestAsync()
146145
})
147146
.ReturnsAsync(new JsonRpcResponse
148147
{
149-
Id = default,
150148
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
151149
});
152150

@@ -159,7 +157,7 @@ public async Task SampleAsync_Messages_Forwards_To_McpServer_SendRequestAsync()
159157
Assert.Equal(ChatRole.Assistant, last.Role);
160158
Assert.Equal("resp", last.Text);
161159
mockServer.Verify(s => s.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()), Times.Once);
162-
160+
163161
// Verify that the default value was used
164162
Assert.NotNull(capturedRequest);
165163
Assert.Equal(CustomMaxSamplingOutputTokens, capturedRequest.MaxTokens);
@@ -180,7 +178,6 @@ public async Task RequestRootsAsync_Forwards_To_McpServer_SendRequestAsync()
180178
.Setup(s => s.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
181179
.ReturnsAsync(new JsonRpcResponse
182180
{
183-
Id = default,
184181
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
185182
});
186183

@@ -207,7 +204,6 @@ public async Task ElicitAsync_Forwards_To_McpServer_SendRequestAsync()
207204
.Setup(s => s.SendRequestAsync(It.IsAny<JsonRpcRequest>(), It.IsAny<CancellationToken>()))
208205
.ReturnsAsync(new JsonRpcResponse
209206
{
210-
Id = default,
211207
Result = JsonSerializer.SerializeToNode(resultPayload, McpJsonUtilities.DefaultOptions),
212208
});
213209

0 commit comments

Comments
 (0)