Speedy utilityman Garrett Hampson and the Kansas City Royals agreed Wednesday to a $2 million, one-year contract.