Legend
Lifecycle
Tools
Resources
Prompts
Sampling
Logging
Completion
Progress & Cancellation
Roots
Elicitation
Outbound Message Queue
The Streamable HTTP transport doesn’t yet open a long-poll SSE channel for server-initiated traffic. Instead, GetMCP buffers server-initiated messages (roots/list requests, progress notifications, log messages, elicitation requests) in a per-session transient queue and piggy-backs them onto the next HTTP response as a JSON-RPC batch.
So if you issue a tools/call, the response body may contain:
Not Implemented
The following spec methods have no handler today:notifications/tools/list_changednotifications/resources/list_changednotifications/resources/updatednotifications/prompts/list_changed
The MCP specification is evolving rapidly. GetMCP’s protocol version is set in
includes/transport/class-streamable-http.php and pinned to the spec revision it was tested against — initialize will negotiate down for older clients.
