Starting his career at Coventry City, following a loan to St Mirren in 2001, he signed with Port Vale later in the year.
[6] However, Coventry manager Gordon Strachan never played McPhee and the player opted to leave Highfield Road after rejecting a three-year deal.
He scored on his debut against Notts County and finished the season as the club's top scorer with 14 goals in 51 games, including one in the 2001 Potteries derby.
For this feat he was named player of the year at Vale Park,[11] but as the team had not secured promotion McPhee rejected a new contract.
Rumours linking McPhee with Portuguese side Beira-Mar were denied by the club, and chairman Bill Bratt stated, "this is news to us".
[12] The following week the cash-strapped club rejected a £100,000 bid from Leeds United "out of hand", branding it as an offer "not even worth considering".
McPhee was used in various positions and scored five goals in 31 appearances, but despite this Beira-Mar were relegated from the Portuguese top flight in bottom place.
He eventually returned to action in December 2006 away at Plymouth Argyle, which was also manager Phil Brown's first match in charge of the club.
[24] On 4 April 2009, he played his last professional game, replacing Keith Southern 61 minutes into a 1–0 defeat by Plymouth Argyle at Bloomfield Road.
[16] McPhee struggled with depression as his career was gradually brought to a premature end due to his injury problems; he attempted suicide.