McCann was selected 4th overall in the 2012 OHL Priority Selection by the Sault Ste. Marie Greyhounds. Playing with the Sault Ste. Marie Greyhounds, McCann was recognized for his outstanding performance during the 2012–13 season when he was named to the OHL Second All-Rookie Team. McCann was also selected as a member of Team Ontario for the 2013 World U-17 Hockey Challenge. Following the 2012–13 season, McCann was named to Team Canada's National Men's Summer Under-18 team and he competed at the 2013 Ivan Hlinka Memorial Tournament to win the gold medal with Team Canada. McCann was a top 2014 NHL Entry Draft prospect. After his selection by the Canucks he was later signed to a three-year entry-level contract on July 24, 2014.
Vancouver Canucks
Following an impressive training camp, McCann was named to the Canucks' roster for the start of the 2015–16 season on October 5, 2015. He made his NHL debut on October 7, 2015 against the Calgary Flames. The following game, on October 10, he scored his first NHL goal against Jonas Hiller of the Calgary Flames in a 3–2 OT loss. He scored the first goal of the night. Alternate captainDaniel Sedin called it "a world-class shot." On November 1, 2015 the Canucks announced that McCann and fellow rookie Jake Virtanen would remain in the NHL beyond their 9-game tryout period. His first career assist came on a Jannik Hansen goal, on November 4, 2015, in a 3–2 loss to the Pittsburgh Penguins.
Florida Panthers
On May 25, 2016, the Canucks traded him with a second and a fourth round pick in 2016 NHL Entry Draft to the Florida Panthers in exchange for Erik Gudbranson and a 2016 fifth-round pick. McCann started the 2017–18 season with the Panthers with two goals and five points in his first seven games, playing in a bottom-six role. On October 25, 2017 McCann was placed on Injury Reserve due to a lower body injury he received in a game against the Washington Capitals, on October 21, in which he recorded his fifth point for the 2017–18 season. McCann returned to action on November 4, in a 5–4 loss to the New York Rangers.
On April 29, 2019, McCann was named to his first Team Canada roster for the 2019 IIHF World Championship held in Slovakia. McCann helped Canada progress through to the playoff rounds before losing the final to Finland to finish with the Silver Medal on May 26, 2019. He finished the tournament with 2 goals and 5 points in 10 games.