Frank Gore has signed with the Indianapolis Colts, the team announced Tuesday.

Agent Drew Rosenhaus said it is a three-year, $12 million deal for the former 49ers running back, with $8.5 million coming in the first two seasons, $6.5 million in bonuses and $7.5 million guaranteed.

The Colts also hosted free-agent receiver Andre Johnson, who was released Monday by the Houston Texans, on Tuesday night, a source told ESPN NFL Insider Adam Schefter.

Gore's deal with Indianapolis marks the end of an eventful week for the 31-year-old running back, who intended to sign with Philadelphia over the weekend before reportedly reversing his decision Monday.

The reversal left the Eagles in search of a running back after already agreeing to trade LeSean McCoy to the Buffalo Bills.

Gore is coming off four straight 1,000-yard rushing seasons and has rushed for over 1,000 yards in eight of the past nine seasons. The only season over the past nine in which he failed to reach that threshold was 2010, when he missed five games with a broken hip. Gore is considered an excellent pass protector as well.

A five-time Pro Bowler, Gore was a big proponent of Jim Harbaugh returning to the Niners, who instead "mutually" parted ways with the coach and promoted defensive line coach Jim Tomsula to head coach. Gore said he wanted to see what the 49ers did with the job before deciding his own future.

ESPN's Adam Schefter contributed to this report.