Capps' deal, announced Thursday, includes a non-roster invitation to spring training.
The 29-year-old right-hander has 138 career saves in 444 appearances for Pittsburgh, Washington and Minnesota. He opened last season closing for the Twins and had 14 saves in his first 15 chances, but was slowed by shoulder inflammation and pitched just four innings after June 15.
The Twins declined their $6 million option on Capps for 2013, instead paying him a $250,000 buyout.
Capps was the winning pitcher for the National League in the 2010 All-Star Game. That season, he had a career-high 42 saves and a 2.47 ERA in 74 games for the Nationals and Twins.
He has recorded at least 14 saves in each of the past six seasons.