Metcalf was added to the Royals' 40-man Major League roster and assigned to Triple-A Omaha. He was designated for assignment by the Rangers on Sunday.
A former player at the University of Kansas, where he holds the career home run record of 29, Metcalf played in 80 games over the last two seasons for the Rangers, batting .249 with 11 home runs and 35 RBIs.
The Royals now have 37 players on their 40-man roster.
Royals manager Trey Hillman remembered Metcalf from the nine games against the Rangers during Spring Training.
"I was impressed with what little we did get to see him," Hillman said. "Even though we played those guys a lot, they had their frontline guys in there. But we did see several at-bats. I was impressed by the way he moved around athletically in the infield and the projectible power of the right-handed bat is something that interested me."
Meanwhile, the Rangers signed former Royal Esteban German to play third base for their Triple-A Oklahoma club. The Royals had obtained German from the Rangers in 2005 trade.
After being released by the Royals during Spring Training, German was signed by the Chicago Cubs but was later released by that club.
Dick Kaegel is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.