Born in Limerick, County Limerick, McGrath played local schoolboy football with Templeglantine and Corbally, before joining Belvedere in 1996. He was part of the team that won an unprecedented of FAI Youth Cup, Leinster Youths Cup and DDSL U-18 Premier League treble. He joined English FA Premier League club Aston Villa on 3 September 1999 following a two-week trial. After making only two appearances he went out on loan to Football Conference side Dagenham & Redbridge in November 2002. McGrath was then signed by Doncaster Rovers on 10 July 2003 in time for the start of their first campaign back in the Football League after being promoted from the Football Conference. He made 14 appearances for Doncaster as they won the Third Division title.John McGrath in 2003/2004"/> He spent two months on loan at Shrewsbury Town, before signing for Kidderminster Harriers in January 2005. In May 2005, McGrath was released by Kidderminster, having been sent off in his last game, away to Northampton Town on 7 May. After trials with York City, Darlington, Limerick and Scunthorpe United, McGrath joined hometown club Limerick, playing in the League of Ireland First Division, for the remainder of the 2005 season in August 2005. scoring his only goal against Athlone Town on 7 October. He left the club to return to England with Conference South side Weymouth for the rest of the 2005–06 season in January 2006. He made 13 appearances and scored 3 goals for Weymouth as they won the Conference South championship. McGrath was only at Weymouth for a short period before joining Conference National side Tamworth in July 2006. On 10 May 2007, McGrath and Tamworth teammate Jake Edwards joined local rivals Burton Albion following Tamworth's relegation to the Conference North. His first season at Burton saw the club make the play-off semi-finals after he had played in 60 games and scored 9 goals, being named the club's Player of the Year. He signed a new one-year contract with the club in May 2008, despite having talks with York City managerColin Walker. McGrath made 48 appearances and scored 6 goals for Burton during the 2008–09 season, as the team won the Conference Premier title and so gained promotion to League Two. He signed a new contract with Burton in May 2009. McGrath signed for League Two rivals York City on an initial one-month loan on 12 February 2013, making his debut later that day in a 0–0 draw at home to Gillingham. Having made five appearances for York, the loan was extended until the end of the 2012–13 season on 7 March 2013. He was sent back to Burton on 4 April 2013 having been deemed surplus to requirements by new manager Nigel Worthington. He had made nine appearances for York. He played for Burton in both legs of their 5–4 aggregate play-off semi-final defeat to Bradford City, and finished the season with 11 appearances for the club, before being released on 6 May 2013. After spending much of pre-season on trial with Alfreton Town, McGrath signed a one-year contract with the Conference Premier club on 3 August 2013. His season was ended by a knee injury sustained during a 3–2 win away to Wrexham on 26 December 2013. He had made 26 appearances and scored one goal for Alfreton in the 2013–14 season. In 2015 McGrath joined Northern Premier League side Mickleover Sports, on 28 April 2016 he was named the new player-manager