Auston Matthews was named an All-Star captain for the first time on Thursday.
The Toronto Maple Leafs center will lead the Atlantic Division in the Jan. 26 event in San Jose. Four captains were chosen by fan vote.
Edmonton Oilers center Connor McDavid was named the Pacific Division captain for the third straight year. Washington Capitals forward Alex Ovechkin will captain the Metropolitan Division for the second straight year.
Matthews has made the All-Star Game in all three seasons he has played. He has 34 points in 23 games this season, having missed 14 games with a shoulder injury.
Ovechkin will be making his eighth All-Star appearance. The 33-year-old leads the league with 29 goals.
McDavid is fourth in the NHL with 52 points after leading the league in scoring the past two seasons.
MacKinnon will play in his third All-Star Game. His 56 points are good for third in the league. Last season, he finished second in voting for the Hart Trophy behind Taylor Hall.
The NHL Hockey Operations Department will choose the remaining players for each roster.
The format will follow last season's with a four-team, 3-on-3 single elimination tournament.
The All-Star Skills Competition will take place Jan. 25.