The deal was announced in the middle of the Rockies' game Sunday night at Nationals Park, the nightcap of a doubleheader with the Washington Nationals.
"Getting Jonathan gives us a guy with some veteran presence behind the plate, just like Ryan Hanigan, as our young starters go into uncharted territory in the next two months," Rockies manager Bud Black said after Colorado lost 3-1 to split the doubleheader. "His track record is pretty good. The guy's an All-Star. He's had success in the major leagues both offensively and defensively, so we should feel good about this one."
Lucroy batted .242 with four home runs and 27 RBIs in 77 games with the Rangers this season, making a team-high 65 starts behind the plate as well as 10 starts as the designated hitter.
He threw out 13 of 44 attempted base-stealers, and he leads all major league catchers with 159 runners caught stealing since 2011.
"To get this type of player, it's going to pick everybody up," Black said.
Acquired by Texas in an Aug. 1, 2016, trade with Milwaukee, Lucroy finished a nearly year-long stint with the Rangers having batted .254 with 15 home runs and 58 RBIs in 124 contests for the club.
Rockies catchers Tony Wolters and Hanigan are hitting a combined .251 with two homers and 27 RBIs.
"From what we've done so far, I love everything we're doing," Rockies pitcher Jon Gray said. "I'm not an expert on all the trade stuff, but I completely trust what they're doing."
Smith, 26, made his major league debut with the Mariners this season, going 3-for-16 with a double and walk in 10 games.