Under the deal announced Monday, Stewart is guaranteed $2 million if he makes the opening-day roster and can earn another $500,000 in incentives. Acquired from Colorado last December, he batted .201 in 55 games and had season-ending left wrist surgery.
He became a free agent when the Cubs declined to tender him a 2013 contract.
To make room for Stewart on the 40-man roster, the Cubs designated pitcher Jeff Beliveau for assignment. They also announced a two-year minor league deal with Korean reliever Chang-Yong Lim. He has pitched 17 seasons in Korea and in Japan and is recovering from Tommy John ligament replacement surgery.