Both people confirmed the deal to The Associated Press on condition of anonymity Thursday because the contract hadn't been finalized.
In addition, one of the people said, catcher Jarrod Saltalamacchia passed his physical, and his $21 million, three-year contract with Miami was finalized.
The 36-year-old Furcal, a three-time All-Star, sat out this season after undergoing elbow ligament-replacement surgery in March. He made the NL All-Star team as a starter at shortstop in 2012, when he batted .264 in 121 games for the Cardinals.
Furcal is a 13-year veteran and a .281 career hitter. He's expected to compete for playing time at second base for the Marlins.
Copyright 2014 Associated Press. All rights reserved. This material may not be published, broadcast, rewritten, or redistributed.