McCaffrey (suspension) signed with the 49ers' practice squad Tuesday.
McCaffrey missed the entire preseason due to a foot injury and was waived by San Francisco in late August, only to receive a four-game suspension shortly thereafter. The 24-year-old has also spent time with the Jaguars, Raiders, Packers and Saints, but has played in only five games with one catch for four yards in his career.