The Royals are Moss' seventh team in the Major Leagues.
Moss, 33, played last season with the Cardinals and hit 28 home runs in 464 plate appearances. He finished with a .225 average and just a .300 on-base percentage.
Moss especially struggled after the All-Star break, posting a .191/.248/.392 slash line.
Moss would presumably fill the Royals' vacant DH spot, after the club lost Kendrys Morales to Toronto earlier this offseason.