Penny went 14-10 for the Marlins' World Series championship team in 2003. He hasn't pitched in the majors since 2012, when he appeared in 22 games with San Francisco, all in relief, and had an ERA of 6.11.
He was released from a minor-league contract by the Kansas City Royals in March.
Penny, 36, has a career record of 119-100 in 13 seasons. The Marlins plan for him to report to their Gulf Coast League team.