ai contact center · published

The MCP subscriptions listen stream and notification delivery

Verified 2026-09-30 · 29 sources · tier 1–3

Also known as Last-Event-ID, subscriptions/listen, toolsListChanged.

The Model Context Protocol defines a subscriptions listen stream that a client opens to receive server notifications 23. This subscriptions listen stream replaces the former resources subscribe request, bringing resource subscriptions and tool list notifications into a single filter-based mechanism rather than running them in parallel 17.

How it works

The 2026-07-28 message flow diagram shows the server answering a subscriptions listen request with a notification named notifications slash subscriptions slash acknowledged 1. The subscriptions page states that a server MUST NOT send notification types that the client has not explicitly requested 18. In the 2026-07-28 revision, a server that declared the list changed capability SHOULD send the tool list changed notification to clients that have opened a subscriptions listen stream with the tools list changed filter set to true 27. Delivery of a tool list changed notification to a subscribed client is graded as a SHOULD rather than a MUST 21.

WarmTransfer's reading of the sources is that the Tools page depicts a client re-issuing the tools list request after a notification inside an optional fragment of its message flow diagram rather than requiring it 20. Furthermore, we infer that Multi Round-Trip Requests do not share the long-lived connection machinery that subscriptions use 29.

Filter negotiation and caching

A subscription filter type that the server does not support is omitted from the acknowledgment rather than raising an error, and the client-side check that would catch the omission is graded as a SHOULD 22. WarmTransfer's reading of the sources is that a client whose requested toolsListChanged filter is silently dropped from the subscription acknowledgment receives no notification, so the caching page's invalidation scenario never applies to it even though the server advertised listChanged 16.

Transport differences and reconnects

The subscriptions page states a client obligation for the standard input and output transport: a client MUST demultiplex incoming notifications by subscription identifier 26.

For Streamable HTTP, resumable server-sent event streams via the Last-Event-ID header are not supported in the 2026-07-28 revision 24. Client reconnection after a dropped stream is graded MAY, and the specification publishes no backoff schedule, no retry cap, and no way to learn what was missed 25.

The specification does not state what becomes of a notifiable event that occurs while no client holds a matching subscription; neither the subscriptions page, the streamable transport page, the tools page, nor the changelog addresses retention, queueing, or replay 28. Similarly, the Resources page does not state what becomes of a notifiable event that occurs while no client holds a matching subscription, as no queueing, retention, or replay language appears in its prose, its code samples, or its diagram 19.

See also

Applicability

Applies to: Model Context Protocol project and Model Context Protocol specification. Sources checked 2026-09-05. In the 2026-07-28 revision, a server that declared the list changed capability SHOULD send the tool list changed notification to clients that have opened a subscriptions listen stream with the tools list changed filter set to true 27. Resumable server-sent event streams via the Last-Event-ID header are not supported in the 2026-07-28 revision 24.

What remains uncertain

Whether the corpus extractor drops diagrams entirely is not covered by the sources below. What becomes of an event with no subscriber is not covered by the sources below beyond the documented absence of queueing, retention, or replay language in the specification 28​19. Whether any Webex MCP server implements subscriptions is not covered by the sources below. Whether a client can discover supported filters before subscribing is not covered by the sources below. The Discovery page new in this revision is not covered by the sources below. The specification Resources page is not covered by the sources below beyond the absence of retention, queueing, or replay rules for unheld subscriptions 19. The full list of subscribable event types is not covered by the sources below. How subscriptions differ between stdio and streamable HTTP is not covered by the sources below.

See also

Parent of

Related to

Scopes

Referenced by

Sources

  1. 1
    The 2026-07-28 message flow diagram shows the server answering a subscriptions listen request with a notification named notifications slash subscriptions slash acknowledged.
    Model Context Protocol specification 2026-07-28, Server Features: Tools · Tools > Message Flow diagram · Checked 2026-09-05
  2. 2
    The 2026-07-28 Resources page Message Flow section is a mermaid sequenceDiagram with no prose, and it shows subscriptions/listen (resourceSubscriptions) followed by notifications/subscriptions/acknowledged and then notifications/resources/updated.
  3. 3
    The Subscriptions page states in prose that the server MUST send notifications/subscriptions/acknowledged as the first message for a subscription and MUST NOT send any notification on that subscription before it.
    Model Context Protocol specification 2026-07-28, Subscriptions · Acknowledgment, first paragraph · Checked 2026-09-30
  4. 4
    The repository source file for the 2026-07-28 Subscriptions page was reported to contain no mermaid block and four JSON code blocks, the same inventory as the published page.
  5. 5
    The MCP 2026-07-28 Subscriptions page, as served, contains four json code blocks and one table and contains no mermaid block and no image.
  6. 6
    The 2026-07-28 Tools Message Flow diagram places the update steps inside an 'opt listChanged' block in which the client first sends subscriptions/listen (toolsListChanged: true) and the server sends notifications/subscriptions/acknowledged before notifications/tools/list_changed.
    Model Context Protocol specification 2026-07-28, Server Features: Tools · Message Flow, mermaid block, 'opt listChanged' group · Checked 2026-09-30
  7. 7
    On the 2026-07-28 Tools page the string notifications/subscriptions/acknowledged appears only inside the Message Flow mermaid block; the page's prose does not mention the acknowledgement.
    Model Context Protocol specification 2026-07-28, Server Features: Tools · whole page; sole occurrence under Message Flow · Checked 2026-09-30
  8. 8
    MCP revision 2026-07-28 replaced the Streamable HTTP GET endpoint and the resources/subscribe and resources/unsubscribe methods with subscriptions/listen, a single long-lived POST-response stream for opted-in server-to-client change notifications.
    Model Context Protocol specification 2026-07-28, Key Changes · section Major changes, item 4 · Checked 2026-09-30
  9. 9
    In Streamable HTTP under MCP revision 2026-07-28, long-lived change notifications are delivered on the SSE response stream of a subscriptions/listen POST, while request-scoped notifications such as notifications/progress and notifications/message flow only on the response stream of the request they relate to.
    Model Context Protocol specification 2026-07-28, Streamable HTTP · section Receiving Messages, paragraph beginning Long-lived notification streams · Checked 2026-09-30
  10. 10
    In MCP revision 2026-07-28 a client cancels a subscriptions/listen subscription by closing the SSE stream on Streamable HTTP, or by sending notifications/cancelled referencing the subscriptions/listen request ID on stdio.
    Model Context Protocol specification 2026-07-28, Subscriptions · section Cancellation, first bullet · Checked 2026-09-30
  11. 11
    In MCP revision 2026-07-28 the server MUST send notifications/subscriptions/acknowledged before any other notification on a subscription; on stdio this ordering is defined per subscription ID rather than per channel, so messages belonging to other subscriptions MAY be interleaved before it.
    Model Context Protocol specification 2026-07-28, Subscriptions · section Acknowledgment, first paragraph · Checked 2026-09-30
  12. 12
    On stdio in MCP revision 2026-07-28, if the connection is terminated and then re-established the client MUST re-send subscriptions/listen to re-establish its subscriptions, because the server holds no subscription state across reconnections.
    Model Context Protocol specification 2026-07-28, Subscriptions · section Cancellation, subsection Graceful Closure, paragraph beginning On stdio · Checked 2026-09-30
  13. 13
    On stdio in MCP revision 2026-07-28 clients MUST correlate notifications delivered for an active subscriptions/listen request using the io.modelcontextprotocol/subscriptionId field in _meta.
    stdio · section Receiving Messages, numbered item 3 · Checked 2026-09-30
  14. 14
    The MCP 2026-07-28 Cancellation page says a server MUST send notifications/cancelled referencing a subscriptions/listen request ID when it tears down that subscription stream, and MUST NOT send notifications/cancelled for any other purpose.disputed
    Cancellation - MCP specification revision 2026-07-28 · introduction, second paragraph; section Behavior Requirements item 2 · Checked 2026-09-30
  15. 15
    The MCP 2026-07-28 Subscriptions page says that a server ending a subscription on its own initiative SHOULD send a successful subscriptions/listen response (resultType complete) before closing the stream, and describes no server-sent notifications/cancelled.disputed
    Model Context Protocol specification 2026-07-28, Subscriptions · section Cancellation, second bullet, and subsection Graceful Closure · Checked 2026-09-30
  16. 16
    A client whose requested toolsListChanged filter is silently dropped from the subscription acknowledgment receives no notification, so the caching page's invalidation scenario never applies to it even though the server advertised listChanged.inferred
    Model Context Protocol specification 2026-07-28, Subscriptions · Acknowledgment section combined with the caching page's Interaction with Notifications · Checked 2026-09-05
  17. 17
    The subscriptions listen stream replaces the former resources subscribe request, so resource subscriptions and tool list notifications now share one filter-based mechanism rather than running in parallel.
  18. 18
    The subscriptions page states that a server MUST NOT send notification types the client has not explicitly requested.
  19. 19
    The Resources page does not state what becomes of a notifiable event that occurs while no client holds a matching subscription; no queueing, retention or replay language appears in its prose, its code samples or its diagram.
  20. 20
    The Tools page depicts a client re-issuing the tools list request after a notification inside an optional fragment of its message flow diagram rather than requiring it.inferred
    Model Context Protocol specification 2026-07-28, Server Features: Tools · Tools > Message Flow diagram · Checked 2026-09-05
  21. 21
    Delivery of a tool list changed notification to a subscribed client is a SHOULD rather than a MUST.
    Model Context Protocol specification 2026-07-28, Server Features: Tools · Tools > List Changed Notification · Checked 2026-09-05
  22. 22
    A subscription filter type the server does not support is omitted from the acknowledgment rather than raising an error and the client side check that would catch the omission is a SHOULD.
    Model Context Protocol specification 2026-07-28, Subscriptions · Subscriptions, filter negotiation · Checked 2026-09-05
  23. 23
    The Model Context Protocol defines a subscriptions listen stream that a client opens to receive server notifications.
  24. 24
    Resumable server-sent event streams via the Last-Event-ID header are not supported in the 2026-07-28 revision.
  25. 25
    Client reconnection after a dropped stream is graded MAY and the specification publishes no backoff schedule no retry cap and no way to learn what was missed.
  26. 26
    The subscriptions page states a client obligation for the standard input and output transport: a client MUST demultiplex incoming notifications by subscription identifier.
    Model Context Protocol specification 2026-07-28, Subscriptions · Subscriptions, stdio transport · Checked 2026-09-05
  27. 27
    In the 2026-07-28 revision a server that declared the list changed capability SHOULD send the tool list changed notification to clients that have opened a subscriptions listen stream with the tools list changed filter set to true.
    Model Context Protocol specification 2026-07-28, Server Features: Tools · Tools > List Changed Notification · Checked 2026-09-05
  28. 28
    The specification does not state what becomes of a notifiable event that occurs while no client holds a matching subscription; neither the subscriptions page the streamable transport page the tools page nor the changelog addresses retention queueing or replay.
    Model Context Protocol specification 2026-07-28, Subscriptions · Subscriptions, whole page · Checked 2026-09-05
  29. 29
    Multi Round-Trip Requests do not share the long-lived connection machinery that subscriptions use.inferred
    Model Context Protocol specification 2026-07-28, Multi Round-Trip Requests · Multi Round-Trip Requests · Checked 2026-09-05

Documents

tier 1 standards and regulators

Cancellation - MCP specification revision 2026-07-28

Model Context Protocol project · 2026-07-28 · accessed 2026-09-30

tier 1 standards and regulators

Model Context Protocol specification 2026-07-28, Key Changes

Model Context Protocol project · 2026-07-28 · accessed 2026-09-05

tier 1 standards and regulators

Model Context Protocol specification 2026-07-28, Multi Round-Trip Requests

Model Context Protocol project · 2026-07-28 · accessed 2026-09-05

tier 1 standards and regulators

Model Context Protocol specification 2026-07-28, Resources

Model Context Protocol project · 2026-07-28 · accessed 2026-09-05

tier 1 standards and regulators

Model Context Protocol specification 2026-07-28, Server Features: Tools

Model Context Protocol project · 2026-07-28 · accessed 2026-09-05

tier 1 standards and regulators

Model Context Protocol specification 2026-07-28, Streamable HTTP

Model Context Protocol project · 2026-07-28 · accessed 2026-09-05

tier 1 standards and regulators

Model Context Protocol specification 2026-07-28, Subscriptions

Model Context Protocol project · 2026-07-28 · accessed 2026-09-05

tier 1 standards and regulators

stdio

Model Context Protocol (modelcontextprotocol.io) · 2026-07-28 · accessed 2026-09-16

tier 3 vendor-maintained repositories

docs/specification/2026-07-28/basic/patterns/subscriptions.mdx

Model Context Protocol project · accessed 2026-09-30

Cite this page

APA

WarmTransfer. (2026, September 30). The MCP subscriptions listen stream and notification delivery. WarmTransfer. https://warmtransfer.net/knowledge/mcp-subscriptions-listen

BibTeX

@misc{warmtransfer-mcp-subscriptions-listen,
  title  = {The MCP subscriptions listen stream and notification delivery},
  author = {{WarmTransfer}},
  year   = {2026},
  url    = {https://warmtransfer.net/knowledge/mcp-subscriptions-listen},
  note   = {Verified 2026-09-30}
}