McDonald's wildness resulted in an early exit and the Pirates dropped their seventh straight game on Friday, falling 7-4 to the Chicago Cubs.
The Pirates have lost 11 of 13 overall. They began the day three games behind St. Louis for the second NL wild-card spot.
McDonald (12-8) struggled once again in the second half. He lasted just 3 2-3 innings, allowing four runs on five hits and four walks. He is 2-5 in his last 10 starts.
The 27-year-old admitted concentration has been a problem.
"There are times where I might think too much rather than just pitch," McDonald said. "In the first half, I didn't think 'I have to,' I would think 'I'm going to.'"
"I think thinking too much sometimes really gets me in trouble," he said.
McDonald walked three batters in the fourth before Anthony Rizzo delivered a two-run double down the right-field line and Alfonso Soriano hit an RBI single that made it 4-0.
"In the end, the three walks were the big thing," McDonald said. "Walks are unacceptable. I had two outs, I should have gotten that out and been in the dugout."
Instead, the third walk chased McDonald. Lefty Justin Wilson gave up the big hit to Rizzo.
"We tried to buy 170 points with left on left versus right on left with James," Pirates manager Clint Hurdle said of the Rizzo at-bat. "We're talking about urgency, so I thought
The Cubs have won four straight against the Pirates, including a three-game sweep last weekend in Pittsburgh.
Chris Rusin (1-2) notched his first major league victory, allowing two runs in five-plus innings in his fourth career start.
"If you strike out (Andrew) McCutchen twice you got to be doing something right," Cubs manager Dale Sveum said. "Not too many left-handers get that guy out."
The Cubs led 4-3 in the sixth before Starlin Castro connected for a three-run homer after Luis Valbuena walked and Alfonso Soriano was hit by a pitch.
McCutchen homered in the Pittsburgh seventh, but Cubs reliever Shawn Camp tossed a perfect eighth and Carlos Marmol earned his 20th save in 22 chances.
The Pirates got an RBI single from Pedro Alvarez in the fifth and closed within a run in the sixth.
Gaby Sanchez singled home a run and Alvarez had an RBI grounder, but Pittsburgh left the bases loaded when James Russell struck out pinch-hitter Neil Walker.
On Aug. 8, the Pirates were 63-47, but have gone 9-24 since. They are now just a game over .500 for the first time since June 15 when they were 32-31. Pittsburgh hasn't finished with a winning record since 1992.
Bryan Morris pitched a perfect eighth in his major league debut for Pittsburgh. The 25-year-old righty got through the inning with nine pitches.
"To be able to make my debut at a place like this, I'm kind of at a loss for words," Morris said. "I walked through the hallway and all I can think about is all the legends who have been through the same hall. It gets to me a little bit."
NOTES: Cubs' first-round draft pick Albert Almora took batting practice with the team at Wrigley Field prior to the game. He will report to the instructional league on Monday. ... Alvarez (sore wrist) returned to the lineup after missing Wednesday's game. Walker (lower back tightness) did not start for the 16th consecutive game. Hurdle said he's "optimistic" that Walker will start Saturday. ... Jason Berken makes his Cubs debut Saturday against Wandy Rodriguez (10-13, 3.72 ERA).