Skip to main content

Module subscription

Module subscription 

Source
Expand description

subscriptions/listen, independent of the transport that carries it.

SEP-2575 (2026-07-28) replaced the HTTP GET stream and resources/subscribe with one request: the client names the notifications it wants, and the server acknowledges the subset it will honour and then tags every notification with _meta["io.modelcontextprotocol/subscriptionId"], whose value is the JSON-RPC id of the subscriptions/listen request. On Streamable HTTP the notifications ride that request’s response stream; on stdio they share the one channel and the id is how a client tells them apart. The decisions — what to honour, how to tag, what to acknowledge — are the same on both, so they live here once.

  • “The server MUST NOT send notification types the client has not explicitly requested.”
  • The acknowledgement lists “the subset of requested notification types the server agreed to honor”, omitting any it does not support.
  • It “MUST be the first message the server sends carrying the subscription’s ID”.

Structs§

Honoured
What this server agreed to send on one subscription.

Constants§

SUBSCRIPTION_ID_KEY
The _meta key every message on a subscription carries.

Functions§

acknowledgement
The notifications/subscriptions/acknowledged frame.
honour
Decides which of requested this server will honour for peer.
start
Subscribes sink to everything honoured names, tagged with meta.
tag
The _meta object tagging a subscription opened by request id.