The 36-year-old Marquis had elbow-reconstruction surgery in July 2013. He pitched briefly for the Philadelphia Phillies Triple-A affiliate last year, going 3-1 with a 4.63 ERA in eight starts before being released.
Marquis is 121-114 in 14 big league seasons with eight teams. An All-Star in 2009 for Colorado, Marquis has a 4.56 ERA with 1,137 strikeouts in 1921 innings.
The Reds announced the deal Wednesday.