Olivo hit .249 with 23 home runs and 65 RBIs in 114 games for the Kansas City Royals last season, when he served as AL Cy Young Award winner Zack Greinke's catcher for 31 of his 33 starts. He threw out 18 of 74 base stealers, a 24.3 percent mark that ranked third in the AL.
"Miguel adds experience, depth and leadership to an important position on our club," Rockies general manager Dan O'Dowd said in a statement. "We are excited to add another player of character to our team."
The 31-year-old Olivo also has played for the Marlins, White Sox, Mariners and Padres. He is a .243 career hitter with 96 homers and 330 RBIs in eight major league seasons.
The club option for 2011 can become a mutual option if Olivo reaches a specified amount of games played next season.