On May 2, 2012, McCray signed with the Miami Dolphins as an undrafted free agent.[3][4] On July 31, 2012, he had scheduled surgery on his broken foot.[5] On August 26, 2012, he was placed on Injured reserve due to a broken foot, causing him to miss the entire 2012 NFL season.[6]
On August 21, 2014, McCray was traded to the Kansas City Chiefs for guard Rishaw Johnson. On March 13, 2015, he re-signed with the Chiefs.[7]
Seattle Seahawks
On September 5, 2015, McCray was traded to the Seattle Seahawks for a fifth round draft pick.[8] With the trade McCray joined the defensive unit nicknamed the Legion of Boom.
In Week 12 vs the 8-3 Vikings, he had 5 special team tackles. In Week 15 against the Cleveland Browns, McCray played his first game as a starter for the Seattle Seahawks, as teammate Kam Chancellor was injured. He recorded 8 tackles and 1 pass defended.
McCray would start again in Week 16 against the St. Louis Rams, and again in Week 17 at the Arizona Cardinals, recording 10 tackles and 1 pass defended against the Rams, and 3 tackles against the Cardinals. He finished his first season with the Seahawks with 36 tackles and 2 pass deflections.
Buffalo Bills
On January 17, 2018, McCray signed a reserve/future contract with the Buffalo Bills.[9] He was released on September 1, 2018.[10]