McGinn was drafted in the fourth round of the 2010 NHL Entry Draft by the Philadelphia Flyers. After his third season of playing in the Quebec Major Junior Hockey League for the Gatineau Olympiques, he signed a three-year entry level contract with the Flyers on July 14, 2011. McGinn made his NHL debut on January 22, 2013 against the New Jersey Devils. His first goal was scored two games later, on January 26, 2013, against Jose Theodore of the Florida Panthers. On February 16, 2014, McGinn was involved in a brawl with Connor Murphy and the Portland Pirates. McGinn repeatedly punched Murphy at center ice. He was ejected and immediately charged with a fighting major. The incident was part of a late-game line brawl, in which 329 penalty minutes were assessed between both teams as well as six suspensions. McGinn received a one-game suspension for his actions. On July 2, 2014, McGinn was traded by the Flyers to the San Jose Sharks in exchange for a third round pick in the 2015 NHL Entry Draft. McGinn made the Sharks opening night roster for the 2014–15 season. After 32 games with the Sharks on March 2, 2015 McGinn was claimed off waivers by the Arizona Coyotes. On July 21, 2015, McGinn signed a one-year, two-way contract with the Tampa Bay Lightning. McGinn spent the majority of the 2015–16 season with the Syracuse Crunch, only appearing in two games for the Lighting. On June 28, 2016, the Lighting re-signed McGinn to a one-year, two-way contract extension. On August 17, 2017, the Lightning once again signed McGinn to a one-year, two-way contract extension. On November 14, 2017, the Lightning traded McGinn back to Arizona along with Michael Leighton in exchange for Louis Domingue. Prior to the beginning of the 2018–19 season, McGinn signed a one year contract with the Manitoba Moose on September 11, 2018. McGinn found a role on the checking line of the Moose, collecting 2 goals and 6 points in 26 games before he was traded by Manitoba to the Chicago Wolves for considerations from a NHL trade between the Moose's affiliate the Winnipeg Jets and the Vegas Golden Knights on January 3, 2019.