Tom Szczerbowski/Getty Images

The Kansas City Royals free-agent third baseman Mike Moustakas agreed to a one-year contract with a mutual option in the second year, Yahoo Sports' Jeff Passan reported.

According to Passan, Moustakas will make $6.5 million guaranteed and could earn up to $22.7 million over the life of the deal.

Moustakas has spent his entire career with the Royals, who selected him second overall in the 2007 draft.

The 29-year-old remains unsigned despite being a two-time All-Star who had career highs in home runs (38), RBI (85) and slugging percentage (.521) in 2017.

Moustakas' problem is that he hit the free-agent market at a time when power hitters aren't all that valued. Logan Morrison had nearly identical numbers (38 homers, 85 RBI and a .516 slugging percentage), and he received $5.5 million in 2018 from the Minnesota Twins with an $8 million vesting option in 2019.

When the league is setting a record for the number of home runs, hitting 30-plus homers isn't as impressive as it would've been in another season.

Further turning off any potential suitors, a team would forfeit a draft pick by signing Moustakas since he turned down Kansas City's qualifying offer. A general manager would have to factor that into the cost of a multiyear contract.

Moustakas agreeing to a one-year deal with the Royals could benefit everybody involved. Kansas City would get to keep a fan favorite after losing Lorenzo Cain and Eric Hosmer, and Moustakas would be able to test his value again next offseason if he has a big 2018.