Free-agent outfielder Jay Bruce has reached agreement on a three-year, $39 million contract with the Mets, two baseball sources told ESPN on Wednesday.

Bruce, 30, is a .249 career hitter with 277 home runs over 10 seasons with the Reds, Mets and Indians. He had received interest from the Giants on the free-agent market before electing to return to New York.