MCP Progress and Cancellation
Some operations take long enough that users need feedback or a way to stop them. MCP implementations and SDKs provide mechanisms for progress and cancellation, but the exact wire behavior depends on the protocol era and transport.
Progress
Progress should communicate useful milestones without flooding the client. Good progress messages are monotonic where possible and tied to a user-visible operation.
Cancellation
Servers should propagate cancellation to expensive downstream work when possible. A cancelled client request should not continue burning compute or modifying state unnecessarily.
2026 transport behavior
The move away from session-centric transport changes how some cancellation flows are implemented. Current SDK migration notes should be your source of truth for the transport you use.