McCoy and the Chiefs have agreed to a one-year, $4 million deal that includes $3 million guaranteed, according to the source.
McCoy, who starred with Reid when they were with the Philadelphia Eagles, was cut by the Bills earlier Saturday.
McCoy played under Reid for the first four seasons of his career, rushing for 3,866 yards from 2009 to 2012, the second-most rushing yards under Reid, behind only Brian Westbrook.
The six-time Pro Bowler and two-time All-Pro appeared destined to wind up with an AFC West team, as a source said the Los Angeles Chargers were the other team pursuing him following his release.
The Chiefs earlier Saturday traded veteran running back Carlos Hyde to the Houston Texans. That left expected starter Damien Williams, Darwin Thompson, Darrel Williams and Tremon Smith as the only running backs to make the 53-man roster after Saturday's 4 p.m. ET cut-down deadline.
One Chiefs player who appeared pleased by the McCoy move was star quarterback Patrick Mahomes, who tweeted:
McCoy, 31, ran for a career-low 514 yards with Buffalo in 2018, sparking outside conversation about whether he still could be productive. He has played 10 years in the league, and his 10,606 yards rushing ranks 25th on the career list and fourth among active players.
McCoy was entering the final year of a five-year contract he signed after his acquisition in a trade with Philadelphia, where he led the NFL in rushing yards in 2013.
McCoy had an inconsistent four seasons with the Bills. He struggled in his first, finishing with 895 yards rushing. McCoy attributed that to being unfocused as a result of being traded. McCoy responded by topping 1,100 yards rushing in each of his next two seasons, but he struggled in 2018, finishing with a career-worst 752 yards from scrimmage.
Information from ESPN's Marcel Louis-Jacques and ESPN Stats & Information was used in this report.