McMahon, 29, who ended last season on loan with the Bantams, has signed a two-year deal after recently leaving Blackpool.
He becomes the Bantams’ third summer signing following the arrivals of striker Steven Davies and midfielder Josh Morris.
McMahon, comfortable at right-back and central midfield, started out at Middlesbrough and has had loans spells at Blackpool and Sheffield Wednesday.
He spent 18 months at Sheffield United and joined Blackpool, initially on loan, in January 2014.
The former England Under-19 international made eight appearances for Bradford last season, scoring one goal.