McCaffery began his career as an apprentice with Newcastle United and went on to captain the England Youth side. He turned professional in January 1974 and made his league debut against Ipswich Town in March 1975. His first senior goal for the club came in an FA Cup replay against Sheffield United in January 1977. After 59 league games for the Magpies he moved to Derby County in August 1978 for a fee of £60,000, making his Rams' debut on 15 September in a 3–2 win against West Bromwich Albion at the Baseball Ground. In August 1980, after Derby's relegation, he moved to Bristol Rovers for a fee of £70,000, having scored four times in 37 games for Derby. The following season, he scored the only goal of the game as Rovers beat local rivals Bristol City for the first time in ten meetings. He was loaned by Rovers to their local rivals Bristol City in February 1982, when City were in a financial crisis that saw them come very close to extinction and lose many of their players. He returned to Bristol Rovers and became a regular in their side, playing 184 times and scoring 11 goals in five seasons. In March 1985 he joined Torquay United on loan and in July that year moved to Exeter City on a free transfer. He made 58 league appearances for the Grecians before a £3,000 move back to his native north-east, joining Hartlepool United in February 1987. He was released after only six games and was playing for Whitley Bay when he was appointed youth coach at Carlisle United in January 1988. He played 14 times for the Cumbrians that season before retiring to concentrate on his coaching duties under manager Clive Middlemass. When Middlemass was sacked in April 1991, McCaffery took over as manager, Carlisle ending the season in 20th place in the Fourth Division. The following season saw Carlisle struggle financially and finish bottom of the league, only saved from relegation to the Football Conference by the unfortunate demise of Aldershot. A new owner, Michael Knighton, took over the club the following summer and McCaffery left in September 1992, having expressed doubts about Knighton's plans.