The 18-year-old, the No. 3 pick in the 2021 NHL Draft, scored 11 points (nine goals, two assists) in 13 games last season with Olten EHC of the Swiss League, the second-highest professional league in Switzerland, and seven points (two goals, five assists) in four playoff games.
He also scored 11 points (five goals, six assists) in seven games and filled in as captain for first-place Canada at the 2021 IIHF Under-18 World Championship when Shane Wright missed two games because of injury.
McTavish was named to the Ontario Hockey League Second All-Rookie Team in 2019-20 after scoring 42 points (29 goals, 13 assists) in 57 games for Peterborough. He led all 2021 draft-eligible players that season in scoring, goals and points per game (.74).
The Ducks also signed defenseman Olen Zellweger and forward Sasha Pastujov each to a three-year, entry-level contract Friday.
Zellweger, selected by Anaheim in the second round (No. 34) of the 2021 draft, scored 13 points (two goals, 11 assists) in 11 games with Everett of the Western Hockey League last season. Pastujov, selected in the third round (No. 66) of the 2021 draft, led the USA Hockey National Team Development Program Under-18 team with 65 points (30 goals, 35 assists) in 41 games and led the United States in scoring at the 2021 Under-18 Worlds with eight points (five goals, three assists) in five games.