Left-handed reliever Javier Lopez has agreed to an $8.5 million, two-year contract to stay with the San Francisco Giants, a person with knowledge of the negotiations told The Associated Press on Sunday.