Urodzony w Guildford, Surrey[2], McCarthy rozpoczął karierę w Wimbledonie i Wycombe Wanderers, zanim dołączył do Reading w wieku 16 lat[3]. Pierwsze doświadczenie w profesjonalnej piłce zdobywał w sierpniu 2007 roku na wypożyczeniu w Woking, gdzie zanotował jeden występ[4]. W dniu 26 marca 2008 roku, dołączył do zespołu Cambridge United[5], debiutując dwa dni później w przegranym 3:0 meczu z Kidderminster Harriers[6]. Wrócił do Reading przed podpisaniem pierwszego profesjonalnego kontraktu w lipcu 2008 roku[7]. McCarthy ponownie został wypożyczony w dniu 24 października 2008 roku, do Team Bath. Zadebiutował następnego dnia w czwartej rundzie kwalifikacyjnej Pucharu Anglii przeciwko Salisbury City, a także zagrał w pierwszej rundzie tych rozgrywek, co łącznie dało cztery występy, wraz z ligowymi spotkaniami. Potem na krótki okres wypożyczenia dołączył do klubu występującego w League Two, Aldershot Town w dniu 2 lutego 2009 roku. Zadebiutował 12 dni później w przegranym 2:3 starciu z Exeter City[8], i rozegrał jeszcze trzy mecze przed powrotem do Reading na początku marca[9].
Przed rozpoczęciem sezonu 2009/10 McCarthy dołączył do Yeovil w ramach sześciomiesięcznego wypożyczenia, a pierwszy meczu rozegrał 8 sierpnia, pomagając odnieść zwycięstwo 2:0 nad Tranmere Rovers, zachowując czyste konto. Umowa została przedłużona w styczniu 2010 roku, a następnie w lutym. W trakcie pobytu rozegrał 44 mecze ligowe i zachował 12 czystych kont. Po udanym sezonie McCarthy otrzymał nowy trzyletni kontrakt w Reading. W sierpniu 2010 roku, dołączył do Brentford, choć pozostał tam przez zaledwie miesiąc.
Pierwszy skład Reading i wypożyczenia
Po powrocie z wypożyczenia w Brentford we wrześniu 2010 roku, McCarthy spędził następne pięć miesięcy na ławce zmiennik dla Adama Federiciego. Ostatecznie zadebiutował w Reading w dniu 19 lutego 2011 roku, zastępując kontuzjowanego Federiciego w 84. minucie meczu z Watfordem. W związku z tym, że podstawowy bramkarz nie mógł grać przez sześć tygodni, mając uszkodzone więzadła stawu kolanowego, McCarthy wdarł się do pierwszego składu i trzy dni później zagrał w wygranym 2:1 meczu z Millwall. W następnym występie obronił rzut karny przeciwko Crystal Palace. Odegrał także ważną rolę w piątej rundzie FA Cup, pomagając odnieść zwycięstwo nad Evertonem 1:0. Kontynuował grę w bramce do 30 kwietnia, kiedy w meczu zremisowanym z Coventry City, w bramce stanął już australijski bramkarz.
W związku z tym, że Federici pozostał pierwszym bramkarzem Reading w sezonie 2011/12, McCarthy został wypożyczony do Leeds United na 4 miesiące. Kontuzja Andy’ego Lonergana i słabsza forma Paula Rachubki sprawiły, że dostał szansę debiutu już w najbliższym spotkaniu z Leicester City. Podczas tego meczu zachował czyste konto. Kolejne spotkania bez straty bramki przeciwko Nottingham Forest i Millwall wystarczyły, aby zachować miejsce w pierwszym składzie, pomimo wracającego do zdrowia Lonergana. W ostatnim meczu obronił rzut karny podczas zmagania z Watfordem, pozwalając Leeds uratować jeden punkt. Po meczu ujawnił, że chciał przedłużyć swoje wypożyczenie w Leeds, a Reading zgodził się odnowić ją dwa dni później. Był nieuprawniony do gry przeciwko swojemu klubowi w dniu 17 grudnia, gdzie został zastąpiony przez Lonergana i do końca sezonu nie otrzymał już szansy występów. Wrócił do Reading w dniu 3 stycznia 2012 roku. Podpisał nowy trzyletni kontrakt przed dołączeniem do Ipswich Town, w ramach wypożyczenia do końca sezonu.
2012/2013
Sezon 2012/2013 ponownie zaczynał jako zmiennik, lecz kilka błędów i kontuzje sprawiły, że McCarthy zastąpił Adama Federici’ego po porażce 1:3 z Tottenhamem. Zachował swoje miejsce w zespole przez kilka następnych meczów, zbierając bardzo dobre noty. Jego Dobra forma kontynuowana była w kolejnym spotkaniu przeciwko Queens Park Rangers. Mecz zakończył się fatalnie, ponieważ bramkarz doznał kontuzji, kiedy obronił rzut wolny wykonywany przez Adela Taarabta. Został zmuszony do poddania się operacji barku na początku grudnia. Doszedł do siebie szybciej niż przewidywano, i powrócił do zespołu 13 kwietnia 2013 roku, zachowując czyste konto z Liverpoolem. Pozostał w bramce przez resztę sezonu, notując w sumie czternaście ligowych występów.
Queens Park Rangers
W dniu 29 sierpnia 2014 roku, McCarthy dołączył do beniaminka Premier League – Queens Park Rangers za nieujawnioną kwotę. Zadebiutował w meczu z Liverpoolem, który zakończył się porażką 2:3[10].
Crystal Palace
23 lipca 2015 roku bramkarz podpisał czteroletnią umowę z Crystal Palace. Dostał szansę debiutu 8 sierpnia 2015 roku, w wygranym 3:1 meczu z Norwich City.
Southampton
1 sierpnia 2016 roku związał się trzyletnim kontraktem z Southampton[11]. W meczu ligowym zadebiutował 30 grudnia 2017 roku, kiedy to Święci zremisowali 0:0 z Manchesterem United[12]. Do końca sezonu został podstawowym golkiperem drużyny i pomógł utrzymać się w Premier League. Został wybrany przez fanów najlepszym zawodnikiem sezonu, rozgrywając zaledwie 18 spotkań ligowych. 27 czerwca podpisał nowy 4-letni kontrakt, obowiązujący do 2022 roku[13].
Kariera reprezentacyjna
McCarthy trenował z Anglią do lat dziewiętnastu, a następnie po raz pierwszy we wrześniu 2009 roku został powołany do składu drużyny U-21[14][15]. Ostatecznie zadebiutował jako zmiennik w drugiej połowie przeciwko Uzbekistanowi w sierpniu 2010 roku[16]. W marcu 2011 roku znalazł się w 31-osobowym składzie, w meczach z Danią i Islandią w ramach przygotowań do Mistrzostw Europy U-21. Rozegrał pełne 90 minut w pierwszym meczu i 45 w drugim, gdy Anglia wygrała 4:0 i przegrała 2:1[17][18].
W kwietniu 2012 roku, McCarthy został wymieniony na 80-osobowej liście potencjalnych piłkarzy drużyny piłkarskiej Wielkiej Brytanii podczas Letnich Igrzysk Olimpijskich w 2012 roku, jednak ostatecznie nie pojechał na turniej.
W maju 2013 roku został powołany do reprezentacji Anglii na mecze towarzyskie przeciwko Irlandii i Brazylii. 1 września 2016 roku dostał powołanie przez Sama Allardycea do dorosłej drużyny, aby zastąpić kontuzjowanego Frasera Forstera w meczu eliminacyjnym do Mistrzostw Świata przeciwko Słowacji[19].
15 listopada 2018 roku zadebiutował w dorosłej reprezentacji Anglii, zmieniając w drugiej części spotkania Jordana Pickforda. McCarthy zachował czyste konto, a Anglicy odnieśli zwycięstwo nad USA 3:0[20].