I've not looked for any bugs/ect in the coding so i'll take it, that it works just wanting it to be multiserver, to do so, try changing variables to the following:

from: %tmp.signon

to: $+(%,tmp.signon.,$server)

as a result your variables will be called %tmpsignon.myserver.com

so for every server theres a different variable, you can then call the variable back using $eval($+(%,tmp.signon.,$server)) or something alike.