Born in Runcorn, Cheshire, McNulty had trials at both Liverpool and Everton as a schoolboy before choosing to join the latter's academy set-up. McNulty then signed for Wrexham after being released. After several years at Wrexham, he became their reserve team captain. However, he made only one senior appearance for the team as a substitute for Steve Roberts against Stockport County in the Football League Trophy on 5 November 2003; Wrexham lost the game in a 5–4 defeat. In February and March 2004, after leaving Wrexham, McNulty spent five matches at Bangor City in the League of Wales. He joined another League of Wales side, Caernarfon Town, in summer 2004. He made 63 appearances for the club over two seasons, scoring twice, whilst also reaching the position of captain. In July 2006 McNulty signed for League Two club Macclesfield Town. On 21 November his first goal for the club sealed a 1–0 win in a FA Cup 1st Round replay against Walsall at the Bescot Stadium. On 29 November it was announced that McNulty had broken his leg and would be out of action for several months. Upon his return to the side he scored his first league goal in a 2–2 draw with Barnet. On 2 January 2008 McNulty signed an eighteen-month contract with fellow League Two side Stockport County, after rejecting a new contract at Macclesfield. McNulty scored his first Stockport goal at Leyton Orient on 13 September and went on to captain Stockport on several occasions. He played as a central defender for Stockport as they won promotion with a 3–2 play-off victory over Rochdale at Wembley. During the January 2009 transfer window, McNulty attracted attention as Stockport looked to bring in money to solve financial difficulties. Stockport accepted an undisclosed offer from Brighton & Hove Albion, allowing McNulty to open contract negotiations with the club, however he refused the opportunity on 22 January, explaining that he did not wish to move to Brighton. On 31 January he was pulled out of the matchday squad for Stockport's game against Hereford after being given permission to talk to an unnamed team. On 2 February, it was revealed that McNulty had a change of heart and agreed to join Brighton & Hove Albion, signing a -year contract. After scoring on his debut against Peterborough, McNulty ruptured a kidney during Brighton's 4–0 home defeat to Crewe Alexandra on 28 February 2009, and the injury ruled him out of action for the foreseeable future. On 23 March, it was announced that McNulty had an operation to remove his right kidney and that he would be ruled out of action for approximately six months. McNulty made his first appearance for Brighton since suffering the horrendous injury in a 2–0 pre-season friendly victory at Scunthorpe United, coming on as a second-half substitute. McNulty made his competitive comeback for Brighton during the 1–0 defeat at Leyton Orient in the Football League Trophy competition on 6 October 2009. After making another 10 competitive appearances since his horrific injury, the last being in the 3–2 defeat to Aston Villa in the FA Cup during January 2010, McNulty was allowed to join Championship side Scunthorpe United on an initial one-month loan to furthermore help his comeback to professional football by manager Gus Poyet. During his short spell at Glanford Park, McNulty made 3 appearances for the Iron before returning to Brighton at the conclusion of the Championship season. During July 2010, he re-signed for Scunthorpe on a further six months' loan deal, however after suffering an ankle injury requiring surgery, McNulty returned to Brighton on 5 December 2010. On 24 June 2011, McNulty signed for Championship side Barnsley on a two-year contract. He was voted Players player of the year in his first season at Barnsley. The following season Barnsley manager Keith Hill announced McNulty as the new team captain. On 3 October 2013 McNulty moved on a loan deal to Tranmere Rovers On 17 January 2014, McNulty had his contract at Barnsley cancelled by mutual consent. Hours after announcing he left Barnsley, McNulty signed an 18-month deal for Bury where he will be re-united with boss David Flitcroft. On 2 June 2015, McNulty signed for Rochdale on a two-year contract and reunited with his old boss Keith Hill.