The 35-year-old Penny hasn't pitched in the Majors since he made 22 relief appearances for the Giants in 2012, posting a 6.11 ERA in 28 innings. According to Cotillo, Penny will enter Royals camp as a starter.
Penny went 11-11 with a 5.30 ERA, while making 31 starts for the Tigers in 2011 -- his last full season as a starter.
Drafted in 1996 by the Marlins, Penny spent parts of five years with Florida, followed by five with the Dodgers. He has pitched for six teams over his 13-year career -- not including a brief stint with the Softbank Hawks in Japan in 2012.
Penny has a 119-100 record with a 4.26 ERA and a 1.37 WHIP. He won two games for the Marlins in the 2003 World Series, but has otherwise struggled in the playoffs, with a 7.66 postseason ERA in nine appearances.
Royals pitchers and catchers report to Surprise, Ariz., on Feb. 14, and their first workout is scheduled for Feb. 15. Position players report Feb. 19.
AJ Cassavell is a reporter for MLB.com. Follow him on Twitter @ajcassavell. This story was not subject to the approval of Major League Baseball or its clubs.