MacDonald, who is fit again after six months out, scored 18 goals as the Bees marched to the League Two title last season.
The 28-year-old's previous stint in the third tier was at Southend, where he hit five goals in 15 starts but failed to hold down a regular place.
"I had a good record at Southend, but the longest run of games I had on the bounce was seven," he said.
"I didn't play as many games as I'd like, but I want to play at the highest level and am confident I can score goals whatever league I play in."
Source: Team_Talk