McMahon played for Woodville-West Torrens Football Club in the South Australian National Football League (SANFL) before being rookie-listed at draft pick number 38 by North Melbourne at the 2005 AFL Rookie Draft.
McMahon was elevated off the rookie list permanently at the start of the 2007 AFL season and made his senior debut against Carlton Football Club in Round Eight, collecting 13 disposals.
McMahon was soon dropped back to the VFL and was included as an emergency for North Melbourne several times before he returned to the seniors for the Round 13 clash against the Western Bulldogs.
McMahon was rated by then North Melbourne coach Dean Laidley as "the best young player we got for nothing".
For his performance in that game, he won the Round 14 AFL Rising Star nomination.