Career
McGregor played rugby union for the Karangahake club in the Goldfields sub-union competition in 1908. The following year he moved to Auckland, joining the Ponsonby club McGregor represented Auckland and the North Island that same year.
In 1913 McGregor was picked in the New Zealand squad for their North America tour and played in 11 games during the tour, including Test matches against Australia and the United States.
McGregor represented Auckland and played in two Test matches for New Zealand in 1919. McGregor was later a rugby league coach in Auckland and Otago.