Nacido en Blenheim, MacDonald debutó en el seleccionado provincial de Marlborough contra Buller en 1994.
Jugó 122 partidos con los Crusaders y siete para los Chiefs en el Super Rugby y jugó para Canterbury en el Campeonato Nacional Provincial.
Hizo su debut en los 22 años de los All Blacks, frente a Escocia en 2000.
También ha aparecido en Nueva Zelanda Maorí, jugando tres partidos y anotó 10 puntos, incluyendo el intento de ganar contra los Leones británicos e irlandeses en 2005 en Hamilton.
En 2005, se trasladó a la primera de cinco octavo durante las Tres Naciones por All Blacks entrenador de línea defensiva para cubrir al lesionado Dan Carter.