McPerson startet sin karriere i Alva Albion Rovers, Bathgate og Rangers før han ble hentet til Liverpool av manager George Patterson i november 1929.
Han begynte som reserve i sesongen 1929/1930, men etter noen kamper ble han fast på laget og begynte å spille med trøye nummer 10. I sesongen 1930/1931 var han sammen med Tommy Lucas de eneste som var involvert i samtlige av de 43 kampene Liverpool spilte.