Johnson started one game for the Chiefs last year and was in the mix to be the team's starting right guard this season. However, Johnson had fallen behind rookie Zach Fulton in the competition, which made the 25-year-old expendable in Kansas City.
The Buccaneers have been looking to add any depth they can get on the interior line. The team had hoped that Carl Nicks would be healthy enough to play this season, but that wasn't the case and Nicks and the Bucs mutually agreed to part ways in July after reaching a settlement.
"We said that we would continue to look at players that would help our football team, as much as anything, so we're excited about getting Rishaw Johnson here into the mix," Bucs coach Lovie Smith said in a statement.
In McCray, the Chiefs will pick up a safety who played in 15 games last season. The 25-year-old played in four games with the Dolphins before being cut and claimed off of waivers by the Bucs. McCray then played in 11 games with Tampa Bay.