The 37-year-old Percival and the Cardinals agreed on a minor-league contract Friday. He will report to Triple-A Memphis.
Percival was working as a special assignment pitching instructor for the Los Angeles Angels before asking to be released from his coaching contract on May 23.
The Cardinals made the announcement before their game against the Angels.
Percival spent most of his career with the Angels and signed as a free agent with Detroit before the 2005 season. The right-hander hurt his forearm in July that season.
Percival tried to pitch last season for the Tigers but was unable to do it. He threw out the ceremonial first ball for the Angels this year.
Overall, Percival has 324 saves in the majors and closed out the Angels' victory in Game 7 of the 2002 World Series against San Francisco.