McGahey joined Blackpool aged 14 after spells in the youth teams of Blackburn Rovers and Liverpool.[3] After helping the Blackpool youth side win the junior league title, McGahey signed a professional contract with the club.[3] He then made his professional league début for Blackpool on 18 April 2014 in a 1–0 home defeat against Burnley.[4] McGahey's deal was only a short-term one and after three first-team appearances he elected not to renew terms with the club.
Sheffield United
McGahey signed a two-year contract, with an option for a third, for Sheffield United for an undisclosed fee on 18 July 2014. Despite McGahey being out of contract, his age meant that Blackpool were due a fee and as such the two clubs agreed a compensation package.[5]
McGahey joined Tranmere Rovers on loan until the end of the 2014–15 season on 13 February 2015.[6] He was recalled one month later.[7]
Rochdale
On 16 June 2016 McGahey joined Rochdale on a two-year deal.[8]
He was offered a new contract by Rochdale at the end of the 2017–18 season.[9]
Scunthorpe United
On 4 January 2019, McGahey signed for Scunthorpe United for an undisclosed fee on a two-and-a-half-year deal.[10] He was one of 17 players released by Scunthorpe at the end of the 2020–21 season.[11]