The deal was announced Tuesday.
Betancourt, who played for the Royals from 2009-10, started at shortstop for the NL Central champion Milwaukee Brewers last season, batting .252 with 13 homers and 68 RBIs. Kansas City has Alcides Escobar at shortstop, so Betancourt will provide versatility and experience off the bench. He will back up Escobar while providing a right-handed bat behind Mike Moustakas at third base.
Milwaukee declined a $6 million option on Betancourt for next season.