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
{{ message }}
Repository navigation
Authorize resourceSubscriptions on subscriptions/listen #1307
On the modern server, subscriptions/listen accepts any URI in resourceSubscriptions. SubscriptionsFeature never checks that the caller is allowed to access it. Change events are server-wide, so on a multi-tenant server a client can subscribe to another principal's URI and receive notifications/resources/updated for it. Only timing and existence leak, not content.
Desired outcome
Server implementers have a hook to gate subscriptions per URI.
Example, non-normative implementation:
Add a canSubscribe(ctx, uri) hook to the resource repositories, defaulting to allow. subscriptions/listen drops every URI it denies.
Notes
Filtering by find isn't suitable: subscribing to a resource that doesn't exist yet is legitimate.
List-changed notifications have no payload and go to every listener. Document on McpChangeFeed that they aren't scoped per principal.
Thanks Daniel - appreciate the fast triage and the credit on #1307. The canSubscribe(ctx, uri) hook is the right shape; happy to review the PR against the cross-session cases when it's up.
Activity
hackking007 commentedon Nov 3, 2026
Thanks Daniel - appreciate the fast triage and the credit on #1307. The canSubscribe(ctx, uri) hook is the right shape; happy to review the PR against the cross-session cases when it's up.