McGregor began his career with Scottish club Celtic. He scored a hat-trick in the 8–0 2012 Scottish Youth Cup Final victory over Queen of the South at Hampden Park. He joined English League One club Notts County on a five-month loan in August 2013. He scored on his debut for the “Magpies” on 7 August, in a 3–2 win over Fleetwood Town at Meadow Lane in the First Round of the League Cup.
McGregor made his first team debut for Celtic against KR Reykjavík on 15 July 2014 in a Champions League qualifier and he scored the only goal of the game. He also scored against Legia Warsaw and NK Maribor in subsequent qualifying rounds.
McGregor made his Scottish Premiership debut against St Johnstone on 13 August 2014 and scored a goal in a 3–0 victory for Celtic.
On 29 August 2014, McGregor signed a five-year contract with Celtic.