The San Francisco 49ers have signed free agent safety and special teams standout Darcel McBath to a one-year contract, adding depth to the secondary.