McCarey joined Wolverhampton Wanderers from Monaghan United in January 2010 before having loan spells with AFC Telford United, Walsall, York City, Portsmouth and Bury.
Born in Monaghan, County Monaghan, McCarey began his career at his hometown club Monaghan United in their youth system aged eight, before breaking into the first team as a 17-year-old. He established himself as the League of Ireland First Division club's first choice goalkeeper in the 2009 season, before moving to join the youth ranks of Premier League club Wolverhampton Wanderers in January 2010, after having agreed to the transfer in September 2009.
The goalkeeper gained his first experience of English football when he joined promotion-chasing Conference North club AFC Telford United on 16 February 2011 on a one-month loan. He played four full matches for the Shropshire club, all victories, starting with a 2–1 home win over Alfreton Town on 22 February 2011. His first clean sheet came on 5 March in his third match, a 3–0 win away to Guiseley.
On 11 August 2012, McCarey was named in a Wolves matchday squad for the first time, remaining unused as Carl Ikeme played in their League Cup first round match against Aldershot Town at home, a penalty shoot-out victory. His first league call-up for the club was on 6 October, in their 1–0 away win over Blackburn Rovers in the Championship. He joined League One club Walsall on 16 November 2012 on a one-month loan, where he made his Football League debut a day later in a 2–2 draw away to Crawley Town. In February 2013, he was re-loaned to Walsall initially for the remainder of the 2012–13 season, but was recalled after a month to cover an injury to Ikeme. Following their relegation to League One at the end of 2012–13, Wolves took up the option of a one-year contract extension on McCarey.
McCarey made his club debut on 3 September 2013 in a Football League Trophy tie against Walsall. On 28 November 2013, he signed a new two-and-a-half-year contract with Wolves, and on the same day joined League Two club York City on loan until 4 January 2014. He made his debut two days later in a 0–0 home draw with Rochdale, and made five appearances for York before being recalled by Wolves on 2 January 2014 due to an injury to Carl Ikeme. He made his Wolves league debut the following day, in a 1–0 away defeat to Gillingham, making four further league appearances as Wolves won the division.
McCarey was suspended by the club on 16 May 2015 after failing a drugs test. He joined League Two club Portsmouth on a one-month emergency loan on 23 September 2015, following injuries to Paul Jones and Brian Murphy. At the conclusion of his loan spell at Portsmouth, he was almost immediately loaned out again, this time joining League One club Bury for a month on 25 October 2016. However, after making his first appearance for the club, he suffered a groin injury and the loan was cut short. At the conclusion of 2015–16, Wolves announced McCarey's contract would not be renewed.
McCarey signed with Scottish Premiership club Ross County on 25 May 2016.
McCarey was capped once for the Republic of Ireland national under-17 team, playing in a 3–1 home defeat to Poland in a friendly on 21 April 2009. Over a year later, on 11 May 2010, he made his only appearance for the under-18 team in a 1–0 friendly away defeat to Macedonia. McCarey made his under-19 debut on 9 August 2010 in a friendly against Ukraine, which finished a 0–0 draw at home. He played at the 2011 UEFA European Under-19 Championship, with the Republic of Ireland being beaten 5–0 by Spain in the semi-final on 29 July 2011. This was his last appearance for the under-19s, earning 14 caps at this level. McCarey's debut at under-21 level came as a substitute for Ian McLoughlin in a 2–1 friendly home victory over Denmark on 28 May 2012. He has been capped 10 times by the under-21s, as of the match played on 15 October 2013. He received his first call up to the senior Republic of Ireland national team as a replacement for Keiren Westwood, for a friendly against Spain in New York in June 2013.As of 19 August 2017