The trade candidate Zack Wheeler showed off a live arm in his return from the injured list, Jeff McNeil hit the first of four Mets homers, and the Mets beat the slumping Pittsburgh Pirates, 6-3, on Friday night.

Wheeler (7-6) struck out seven over five and a third innings in his first start since July 7. He had missed time because of right shoulder fatigue — an issue he called an impingement. With contending teams watching closely, Wheeler averaged 96.8 miles per hour on his fastball and looked sharp until Adam Frazier clocked a two-run homer in the sixth inning. Wheeler allowed three runs, six hits and no walks.

McNeil hit a three-run homer, and Todd Frazier, Pete Alonso and Wilson Ramos added solo shots for the Mets. Alonso’s homer was his 34th.

The Pirates’ rookie starter, Dario Agrazal (2-1), was roughed up for the first time in his short big league career, and Pittsburgh dropped its sixth straight. The Pirates are 2-13 since the All-Star break.