The Kansas City Royals agreed to a $9 million, two-year contract with left-hander Bruce Chen on Wednesday, solidifying their starting rotation heading into next season, a person familiar with the deal told The Associated Press.