The 30-year-old McCann was an All-Star with the White Sox in 2019 and this season set career highs in batting average (.289), on-base percentage (.360) and slugging percentage (.536).
"James has established himself as one of the best dual-threat catchers in the game,'' Mets President Sandy Alderson said. "His leadership and presence in the clubhouse were instrumental in guiding a young pitching staff into the post-season in 2020.''
Steve Cohen bought the Mets last month for $2.42 billion last month and his first move was to hire Alderson. McCann's signing was announced a day after Jared Porter was officially introduced as the Mets' new general manager.
Cohen has said he would consider it disappointing if the Mets don't win the World Series in the next three to five years.
The Mets haven't reached the playoffs since losing the 2016 NL wild-card game. They went 26-34 this season.
The Mets' first major move after Cohen's purchase was signing free agent reliever Trevor May to a $15.5 million, two-year deal.
Mets fans want to see even more spending on free agents, possibly for either NL Cy Young Award winner Trevor Bauer or centre fielder George Springer, the 2017 World Series MVP, or both.
McCann hit .273 with 18 home runs and 60 RBIs in 2019. He had seven home runs and 15 RBIs for Chicago this year in 31 games while splitting time with Yasmani Grandal during the pandemic-shortened season.
McCann has thrown out 106 of 329 (32.2%) of would-be basestealers since 2015, his first full year in the majors -- the big league rate is 27.8% in that span.
With the White Sox, he played a key role in the development of ace Lucas Giolito and caught the All-Star's no-hitter in August.
McCann will take over for Wilson Ramos as the Mets' full-time catcher. Robinson Chirinos also caught for the Mets last year -- the team declined 2021 options on both of them.
Alderson said Monday the Mets had earlier discussions with prized free-agent catcher J.T. Realmuto.
"I think that more than anything else this was a timing issue for us. We have a number of needs, and we can afford to wait to fill some of them. We can't afford to wait to fill all of them,'' Alderson said. "And so, this wasn't a compromise pick. We've been engaged with James for a considerable period of time. There's a lot we like about James.''