You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stack: SDK V2 + New Spec — 7 of 10 (tab era-fork; needs era model from card 3).
Fork Resource subscriptions by era. On modern servers resources/subscribe/unsubscribe and the session-scoped subscription model are replaced by entries in a single long-lived subscriptions/listen stream.
Modern era: model subscriptions as a filter over one subscriptions/listen stream — { toolsListChanged, promptsListChanged, resourcesListChanged, resourceSubscriptions: [uris] }. The state store becomes "one listen stream + filter set + acknowledged state + reconnect-by-re-listen" (no resumability; a broken stream re-lists). Notifications arrive tagged _meta["io.modelcontextprotocol/subscriptionId"].
Reflect that request-scoped notifications never appear on the listen stream (they ride the originating request).
Stack: SDK V2 + New Spec — 7 of 10 (tab era-fork; needs era model from card 3).
Fork Resource subscriptions by era. On modern servers
resources/subscribe/unsubscribeand the session-scoped subscription model are replaced by entries in a single long-livedsubscriptions/listenstream.Scope
resources/subscribe/unsubscribeand the currentResourceSubscriptionsState(button already gated onresources.subscribe— see Hide Subscribe/Unsubscribe button and Subscriptions section when server doesn't support resource subscriptions #1478 precedent).subscriptions/listenstream —{ toolsListChanged, promptsListChanged, resourcesListChanged, resourceSubscriptions: [uris] }. The state store becomes "one listen stream + filter set + acknowledged state + reconnect-by-re-listen" (no resumability; a broken stream re-lists). Notifications arrive tagged_meta["io.modelcontextprotocol/subscriptionId"].Key files
core/mcp/state/resourceSubscriptionsState.ts,core/react/useResourceSubscriptions.ts,clients/web/src/components/screens/ResourcesScreen/*,core/mcp/inspectorClient.ts(client.listen(filter)/McpSubscription).Acceptance
npm run cigreen.Ref:
specification/v2_new_spec_impact.md§7.4, §8.2(notifications), §9.3(Resources), §9.5(5).