After a month of speculation, Schumacher will drive for the new team and will be paid a reported seven million euros ($A11.39 million).
Schumacher, who turns 41 on the January 3, will partner Nico Rosberg, 24, who was Mercedes GP's first confirmed driver after the German manufacturing giant purchased a dominant share in the Brawn GP team.
Schumacher last raced in a Formula 1 Grand Prix in October 2006 at the final round of the season at the Brazilian Grand Prix where he finished fourth.
Bild reports that Schumacher signed the contract on Tuesday at Mercedes' headquarters in Brackley, England.
It was also reported recently that the Mercedes team will feature major sponsorship from Malaysian company Petronas – the oil brand that has backed Sauber and BMW for over a decade.
Schumacher has won 91 of his 250 Grand Prix races and started in pole position 68 times. He holds almost every record in the sport, including most race wins and most championships.
Schumacher had been due to make a return to the sport last season for Ferrari as a replacement for Felipe Massa who was injured in a freak accident in Hungary. His planned returned was stalled when he could not compete due to a neck injury.
Schumacher will kick off his return to the sport at the first round of the F1 World Championship in Bahrain on March 14, 2010.