Pvt. MacGregor serves in the British 7th armored division during the largely historical events of Call of Duty 2's singleplayer storyline. His superior, Captain Price trusts him with many of the more risky missions that need to be done. Including helping Price and the player's character (John Davis) escape from German-held Toujane,Tunisia in an armored car. Later, while in Europe, the player and MacGregor are ordered by Captain Price to retrieve a german truck. While doing so they are chased by a German Panzer and a small army of enemy troops. With MacGregor's help, the player must defeat the panzer with a rocket launcher. His flamboyant personality and fiery attitude is reflected by his bright red beard and constant sarcastic remarks, regardless of the situation.
His backstory is not explained in any way, but his accent implies Scottish origin. At times in the story, he is referred to as Sergeant despite being labeled as a private.
Macgergor uses numerous weapons throughout the game but tends to stick with either a Lee-Enfield or a Sten Sub-machine gun.
In Call of Duty 2 he is voiced by James Patrick Stuart who is perhaps best known as Avalanche in X-Men Origins: Wolverine and Charles Clark in the 2008 reincarnation of Beverly Hills 90210.