Catcher Salvador Perez will remain with the Kansas City Royals rather than become a free agent, agreeing Tuesday to a two-year contact.