Skip to content

Commit 03e3094

Browse files
Fix and enhance cancellation operations across MCP Sessions. (#179)
* Propagate CancellationToken request cancellation to remote endpoint * Refactor existing tests to have a shared base class * Add cancellation tests --------- Co-authored-by: Stephen Toub <[email protected]>
1 parent 4dd2f42 commit 03e3094

21 files changed

+334
-336
lines changed

samples/EverythingServer/LoggingUpdateMessageSender.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using Microsoft.Extensions.DependencyInjection;
2-
using Microsoft.Extensions.Hosting;
1+
using Microsoft.Extensions.Hosting;
32
using ModelContextProtocol;
43
using ModelContextProtocol.Protocol.Types;
54
using ModelContextProtocol.Server;

samples/EverythingServer/ResourceGenerator.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
using ModelContextProtocol.Protocol.Types;
2-
using System;
3-
using System.Collections.Generic;
4-
using System.Linq;
52

63
namespace EverythingServer;
74

samples/EverythingServer/Tools/LongRunningTool.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using ModelContextProtocol;
2-
using ModelContextProtocol.Protocol.Messages;
32
using ModelContextProtocol.Protocol.Types;
43
using ModelContextProtocol.Server;
54
using System.ComponentModel;

src/ModelContextProtocol/Client/McpClientFactory.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using System.Globalization;
2-
using System.Runtime.InteropServices;
3-
using ModelContextProtocol.Logging;
1+
using ModelContextProtocol.Logging;
42
using ModelContextProtocol.Protocol.Transport;
53
using ModelContextProtocol.Utils;
64
using Microsoft.Extensions.Logging;

src/ModelContextProtocol/McpEndpointExtensions.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,14 @@ public static Task NotifyProgressAsync(
155155
{
156156
Throw.IfNull(endpoint);
157157

158-
return endpoint.SendMessageAsync(new JsonRpcNotification()
159-
{
160-
Method = NotificationMethods.ProgressNotification,
161-
Params = JsonSerializer.SerializeToNode(new ProgressNotification
158+
return endpoint.SendNotificationAsync(
159+
NotificationMethods.ProgressNotification,
160+
new ProgressNotification
162161
{
163162
ProgressToken = progressToken,
164163
Progress = progress,
165-
}, McpJsonUtilities.JsonContext.Default.ProgressNotification),
166-
}, cancellationToken);
164+
},
165+
McpJsonUtilities.JsonContext.Default.ProgressNotification,
166+
cancellationToken);
167167
}
168168
}

src/ModelContextProtocol/Protocol/Types/ClientCapabilities.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using ModelContextProtocol.Protocol.Messages;
2-
using ModelContextProtocol.Server;
32
using System.Text.Json.Serialization;
43

54
namespace ModelContextProtocol.Protocol.Types;

src/ModelContextProtocol/Protocol/Types/LoggingCapability.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using ModelContextProtocol.Protocol.Messages;
2-
using ModelContextProtocol.Server;
1+
using ModelContextProtocol.Server;
32
using System.Text.Json.Serialization;
43

54
namespace ModelContextProtocol.Protocol.Types;

src/ModelContextProtocol/Protocol/Types/PromptsCapability.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using ModelContextProtocol.Protocol.Messages;
2-
using ModelContextProtocol.Server;
1+
using ModelContextProtocol.Server;
32
using System.Text.Json.Serialization;
43

54
namespace ModelContextProtocol.Protocol.Types;

src/ModelContextProtocol/Protocol/Types/ResourcesCapability.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using ModelContextProtocol.Protocol.Messages;
2-
using ModelContextProtocol.Server;
1+
using ModelContextProtocol.Server;
32
using System.Text.Json.Serialization;
43

54
namespace ModelContextProtocol.Protocol.Types;

src/ModelContextProtocol/Protocol/Types/RootsCapability.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using ModelContextProtocol.Protocol.Messages;
2-
using ModelContextProtocol.Server;
3-
using System.Text.Json.Serialization;
1+
using System.Text.Json.Serialization;
42

53
namespace ModelContextProtocol.Protocol.Types;
64

0 commit comments

Comments
 (0)