Skip to content

Commit d2d98f1

Browse files
committed
Allow subscribing to resources, but subscribe is only true if full set of handlers present.
1 parent 8c7d155 commit d2d98f1

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

src/ModelContextProtocol.Core/Server/McpServer.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,8 @@ await originalListResourceTemplatesHandler(request, cancellationToken).Configure
308308

309309
listChanged = true;
310310

311-
subscribe = true;
311+
// TODO: Implement subscribe/unsubscribe logic for resource and resource template collections
312+
// subscribe = true;
312313
}
313314

314315
ServerCapabilities.Resources.ListResourcesHandler = listResourcesHandler;

src/ModelContextProtocol/McpServerHandlers.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,17 @@ internal void OverwriteWithSetHandlers(McpServerOptions options)
188188

189189
if (SubscribeToResourcesHandler is not null || UnsubscribeFromResourcesHandler is not null)
190190
{
191-
resourcesCapability.SubscribeToResourcesHandler = SubscribeToResourcesHandler ?? resourcesCapability.SubscribeToResourcesHandler;
192-
resourcesCapability.UnsubscribeFromResourcesHandler = UnsubscribeFromResourcesHandler ?? resourcesCapability.UnsubscribeFromResourcesHandler;
193191
resourcesCapability.Subscribe = true;
194192
}
195193
}
196194

195+
if (SubscribeToResourcesHandler is not null || UnsubscribeFromResourcesHandler is not null)
196+
{
197+
resourcesCapability.SubscribeToResourcesHandler = SubscribeToResourcesHandler ?? resourcesCapability.SubscribeToResourcesHandler;
198+
resourcesCapability.UnsubscribeFromResourcesHandler = UnsubscribeFromResourcesHandler ?? resourcesCapability.UnsubscribeFromResourcesHandler;
199+
}
200+
201+
197202
ToolsCapability? toolsCapability = options.Capabilities?.Tools;
198203
if (ListToolsHandler is not null || CallToolHandler is not null)
199204
{

0 commit comments

Comments
 (0)