The deal is worth $5 million deal, a source confirmed to ESPN on Tuesday.
McCutchen, 37, will be entering his 16th season after entering the majors with Pittsburgh in 2009. He made it clear last season that he wanted to finish his career with the Pirates, and general manager Ben Cherington said he was confident it would happen.
“In every discussion with Andrew, it was clear we both shared the same strong desire for him to remain a Pirate,” said Pirates Chairman Bob Nutting in a statement. “He is a tremendous person, player and teammate. He is an all-time great Pirates player who represents our city with a deep sense of pride. His presence in our lineup and our clubhouse has had a significant impact on our young team. The way he plays the game on the field and carries himself in the community will continue to make all of us in the organization better.”