MCP Tasks extension on the 2026-07-28 stateless core client -> tools/call + per-request io.modelcontextprotocol/tasks capability server: durably create task, then return resultType: "task" + taskId tools/list publishes generate_report; the server chooses task mode after the capability check. working worker owns lease input_required outstanding requests completed nested complete result failed RPC error cancelled worker stopped polling and input tasks/get {taskId} Mcp-Name = taskId; complete snapshot tasks/update {taskId, inputResponses} Mcp-Name = taskId; complete acknowledgement Unique input keys for the entire task lifetime cancellation and optional push tasks/cancel {taskId} Mcp-Name = taskId; cooperative acknowledgement subscriptions/listen via POST response SSE notifications/subscriptions/acknowledged notifications/tasks + subscriptionId metadata removed experimental assumptions: tasks/status | tasks/result | tasks/list Persist ownership, expiry, issued input keys, result or error, and worker lease in application storage.