The Marlins and catcher Francisco Cervelli have agreed to a one-year, $2 million contract, a source confirmed to ESPN.