He made his first team debut for Hearts, aged 16, on 12 December 2017, playing from the start in a 2–0 win against Dundee at Tynecastle Park. McDonald provided the assist for the opening goal.[1]
He joined Hearts at under-14 level from Livingston.[2] He was a member of the Scotland under-16 Victory Shield squad.[2]
McDonald moved on loan to Dunfermline Athletic with fellow Hearts youngster, Harry Cochrane, on 30 August 2019.[5] Following a lengthy time out with injuries, McDonald made his Dunfermline debut from the bench on 21 December 2019 in a 2–0 loss to his former club, Inverness Caledonian Thistle.[6]
Córdoba
On 5 October 2020, McDonald signed for Spanish club Córdoba CF, on a two-year deal.[7]
Inverness Caledonian Thistle
McDonald returned to Scotland in February 2021 to sign with Inverness Caledonian Thistle on a deal until the end of the season.[8]
On 5 May 2021, McDonald signed a new deal with Inverness CT.[9] He left the club upon expiry of his contract on 7 January 2022.[10]