Following his senior season at Wake Forest, MacDougal was drafted by the Kansas City Royals in the first round of the 1999 Major League Baseball draft. He signed on July 1, 1999. MacDougal made his major league debut as a starting pitcher, but suffered a fractured skull late in the season when he was struck in the head by a bat that had escaped from the hand of Carlos Beltrán. He lost feeling in his right arm and was unable to pitch for three months. In, the Kansas City Royals turned him into a closer. He recorded 24 saves by mid-season and made the American League All-Star team. MacDougal struggled with flu-like symptoms in spring training in, causing him to lose weight and, as a result, to lose velocity off his fastball, which had been clocked as high as 103 miles per hour. He lost his job as the Royals' closer to Jeremy Affeldt and spent much of the 2004 season in the minor leagues. However, early in, he was reinstalled as the closer after Affeldt himself was injured. MacDougal battled injuries again in, starting the season on the DL and not returning to the field until mid July. After only about a week after his first appearance of the year, he was traded to the Chicago White Sox for minor-league pitchers Tyler Lumsden and Dan Cortes on July 24, 2006.
Chicago White Sox
The addition of MacDougal was to be a move to bolster the White Sox bullpen as they vied for playoff contention, and while the team ended up missing the playoffs, MacDougal was quite effective in his 25 appearances. Combining his appearances with both teams, he finished the year with a 1.55 ERA. MacDougal's 2006 performance earned him a new three-year deal with the White Sox, but he was not able to carry his success from the end of the 2006 season into. MacDougal finished 2007 with an ERA about 6.00, spent more time on the DL with right-shoulder inflammation, and was actually optioned to the team's Triple-A affiliate at one point. On April 21, 2009, MacDougal was designated for assignment by the White Sox, and was released on April 30.
Washington Nationals
He then signed a minor league deal with the Washington Nationals on May 3. On December 12, 2009, MacDougal was non-tendered by the Nationals, making him a free agent. On February 18, 2010, MacDougal signed a minor league contract with the Florida Marlins with an invite to spring training. He was released on March 23. He then signed a minor league deal with the Nationals. On July 1, 2010, he decided to opt out of his contract to become a free agent.
St. Louis Cardinals
On July 7, 2010, he signed a minor league deal with the St. Louis Cardinals, making his debut for Triple-A Memphis that night, giving up two runs on two hits in one inning pitched. MacDougal made his Cardinals debut on July 28, 2010.
Los Angeles Dodgers
On January 28, 2011, he signed a minor league contract with the Los Angeles Dodgers, and made the Major League club to start the season. MacDougal pitched in 69 games with the Dodgers, working 57 innings and had a record of 3-1 and a team leading 2.05 ERA. He re-signed with the Dodgers after the season for a one-year, $1 million contract that included a 2013 option. He pitched in seven games for the Dodgers in 2012, with a 7.94 ERA and was designated for assignment on May 3, removing him from the 40-man roster. He was released on May 11.
Later career
On May 15, 2012, the Chicago Cubs signed MacDougal to a minor league contract. He pitched in 19 games for the AAA Iowa Cubs, with a 7.95 ERA. On July 13, he was released by the Cubs. On July 31, the Washington Nationals re-signed MacDougal to a minor-league deal. He joined the AAA Syracuse Chiefs, where he had an ERA of 4.22 in 12 games. In April 2013, the Cincinnati Reds signed MacDougal to a minor-league deal. He joined the AAA Louisville Bats. He was released by the Reds on June 8, going 0–1 in 17 appearances with the Bats, striking out 20 in 19 2/3 innings with a 5.49 ERA. On June 25, MacDougal signed a deal with the Philadelphia Phillies and reported to Triple-A Lehigh Valley. The Seattle Mariners signed MacDougal on a minor-league deal on May 10, 2014. He had been pitching for the independent Camden Riversharks.