The Cardinals and shortstop Rafael Furcal have agreed to a $14 million, two-year contract. The agreement keeps Furcal in St. Louis. The eventual World Series champions picked him up in a trade at the July deadline. Furcal would get a signing bonus of $1 million with salaries of $6 million next year and $7 million in 2013.