Second baseman Marco Scutaro is staying in San Francisco after agreeing to a $20 million, three-year contract with the Giants late Tuesday.