So you have the right idea, namely that you should apply @@S^z_j@@ to your MPS, then time evolve it, then measure @@S^z_i@@ after time evolving (and by measure, I mean compute @@S^z_i@@ "sandwiched" between your original state "0" on one side and your time-evolved state on the other side).
To apply @@S^z_j@@ to an MPS, all you need to do is this:
psi.Aref(j) *= sites.op("Sz",j);
The first line gets the @@S^z_j@@ operator from the site set "sites" and contracts it with the jth "A" tensor or MPS tensor of the MPS psi.
The second line removes the prime on the site index that results from the first line, since site operators have one unprimed index and one primed index by our library's convention.
Hope that helps!