The 49ers gained size at cornerback by reaching an agreement with veteran William James, the former Lions, Eagles and Giants defensive back once known as Will Peterson.
James, 30, started 14 games for the Lions last season. He was an unrestricted free agent, meaning James could factor into the equation for compensatory draft choices depending on his role with the 49ers.
Harris missed last season after suffering a serious knee injury. Bly, signed to replace Harris, picked off three passes, but he also drew a harsh reaction from coach Mike Singletary for showboating during a return against the Falcons.
The NFL lists Peterson at 6-feet tall and 200 pounds (Bly is listed at 5-10 and 188).