The deal between playoff contenders was announced as the Blue Jays were starting their game in Boston on Monday night.
The 29-year-old Valencia hit .282 with two home runs and 11 RBIs in 36 games for Kansas City. He also has played for Minnesota, Boston and Baltimore.
Kratz will join the Royals for Tuesday night's game against Minnesota and Hendriks will be assigned to Triple-A Omaha. Infielder Christian Colon will be called from Omaha and catcher Brett Hayes has been designated for assignment.
The 34-year-old Kratz hit .198 with three homers and 10 RBIs in 34 games for Toronto.
The 25-year-old Hendriks was 1-0 with a 6.08 ERA in three starts for Toronto. He was a Triple-A All-Star this year at Buffalo, going 8-1 with a 2.33 ERA.
More Sports Headlines
Mariners fire Lloyd McClendon after 2 seasons Thiel: McClendon failed to give his team best chance to win Seahawks' Lynch to miss second straight game deGrom strikes out 13 as Mets beat Dodgers 3-1 in Game 1 Silvertips take on Chiefs in home opener on Saturday night Royals rally, beat Astros 5-4 to even ALDS series at 1-1 Cardinals beat Cubs 4-0 in NLDS opener Rangers beat Blue Jays 6-4 in 14, lead ALDS 2-0
Our new comment system is not supported in IE 7. Please upgrade your browser here.