The Yankees optioned McKinney to the RailRiders at the end of spring training in 2018. An injury to Aaron Hicks led the Yankees to promote McKinney to the major leagues on March 30.[17] He made his major league debut that day,[18] and recorded his first hit in his first at bat. The next day, McKinney sprained the AC joint in his left shoulder, and went on the disabled list.[19] On May 25, McKinney was activated from the disabled list and optioned to the minors.[20]
Toronto Blue Jays
On July 26, 2018, the Yankees traded McKinney and Brandon Drury to the Toronto Blue Jays for J. A. Happ.[21] The Blue Jays assigned McKinney to the Buffalo Bisons of the International League and promoted him to the major leagues August 17.[22] On August 21, McKinney hit his first major league home run off Baltimore Orioles pitcher Ryan Meisinger.[23] McKinney appeared in 36 games for the Blue Jays in 2018, hitting .252 with six home runs and 13 RBIs.[24] In 2019, McKinney hit 12 home runs with 28 RBI in 84 games. On September 11, 2020, McKinney was designated for assignment by the Blue Jays.[25]
Milwaukee Brewers
On September 14, 2020, McKinney was claimed off waivers by the Milwaukee Brewers.[26] McKinney hit .207 with three home runs and six RBI in 40 games for the Brewers before being designated for assignment on May 22, 2021.[27]
New York Mets
On May 25, 2021, McKinney was traded to the New York Mets in exchange for Pedro Quintana.[28] In 39 games with the Mets, McKinney slashed .220/.304/.473 with five home runs and 14 RBI, before being designated for assignment on July 16.[29]
Los Angeles Dodgers
On July 21, 2021, McKinney was traded to the Los Angeles Dodgers in exchange for minor league outfielder Carlos Rincon.[30] He played in 37 games for the Dodgers, hitting .146 with one homer and seven RBI.[31] McKinney appeared in four games in the postseason, primarily as a defensive replacement and only had one plate appearance, in the 2021 NLDS, in which he struck out.[32]
On November 19, 2021, McKinney was designated for assignment by the Dodgers.[33] On November 22, he and Zach Reks were traded to the Texas Rangers for cash considerations.[34] However, the Rangers non-tendered him on November 30, making him a free agent.[35]
Oakland Athletics (second stint)
On March 16, 2022, McKinney signed a minor-league deal with the Oakland Athletics that included an invitation to Spring Training.[36] On April 7, the Athletics selected McKinney's contract, adding him to their opening day roster.[37] McKinney was designated for assignment on May 9, after going 5-for-52 (.096) with one home run and four RBI in 23 games.[38] He cleared waivers and was sent outright to the Triple–A Las Vegas Aviators on May 11. In 69 games with Las Vegas, McKinney batted .295/.396/.530 with 12 home runs and 49 RBI.[39] He elected free agency following the season on November 10.[40]
New York Yankees (second stint)
On December 19, 2022, McKinney signed a minor league deal with the New York Yankees.[41] He began the 2023 season with the Triple–A Scranton/Wilkes-Barre RailRiders, playing in 40 games and hitting .274/.388/.511 with 9 home runs and 25 RBI. On June 7, 2023, McKinney was selected to the major league roster after Aaron Judge was placed on the injured list.[42] In 48 games for the Yankees, he batted .227/.320/.406 with 6 home runs and 14 RBI. Following the season on November 2, McKinney was removed from the 40–man roster and sent outright to Triple–A Scranton.[43] He elected free agency on November 6.[44] On December 8, McKinney re-signed with the Yankees on a minor league contract.[45]
Pittsburgh Pirates
On December 14, 2023, McKinney was traded to the Pittsburgh Pirates in exchange for cash considerations.[46] In 40 games for the Triple–A Indianapolis Indians, he slashed .295/.356/.450 with five home runs and 18 RBI. McKinney had his contract selected to the major league roster on August 19, 2024.[47] In 10 games for Pittsburgh, he went 5–for–25 (.200) with no home runs and two RBI. McKinney was designated for assignment by the Pirates on September 6.[48] He cleared waivers and was sent outright to Indianapolis on September 8.[49] McKinney elected free agency on October 1.[50]