The Astros, who made the playoffs despite a 29-31 record in the pandemic-shortened season, also reached a one-year deal with righty Austin Pruitt.
Correa, 26, hit .264 during the regular season, then batted .362 with six home runs and 17 RBIs in 13 playoff games. He was the overall No. 1 pick in the 2012 draft, the AL Rookie of Year in 2015 and an All-Star in 2017.
Diaz, 30, also excelled in the postseason, hitting .353 after batting .241 in the regular season.
McCullers, 27, went 3-3 with a 3.93 ERA after missing the 2019 season while recovering from Tommy John surgery.
Acquired last January from Tampa Bay, Pruitt, 31, missed this season because of an injured right elbow. He had surgery in September and is expected to be able to pitch early next season.