Johannes skippered City in 2017/18 but is on the way to Bidvest Wits after penning a pre-contract with the Telkom Knockout champions in January.
Mkhize donned the armband when Johannes was absent, as was the case when the team played their last game of the campaign against AmaZulu.
“Obviously it is debatable but Thami has been the stand-in captain and has done a great job,” McCarthy said.
“He’s been one of my most consistent players. Every game he is the player that you can rely on, you can count on, and in training he gives you 150 percent effort.
“So when you have those players it’s only natural that they become leaders, you make them lead. So for me it was very easy in the absence of Robyn Johannes that you have Thami Mkhize there because he’s an example.
“You just have to look you say, ‘If I’m like that, I play and then maybe I get to be captain’. Because he’s a very honest professional and he deserves the captaincy. He deserved the captaincy in the absence of Johannes.
“But ... like I said, I want to go and enjoy my holidays and when I come back I’ll have discussions with some of the senior players in the team, and that is how I think we’ll decide on who’ll be the captain.
“But Mkhize has held his hand up and he’s a reliable candidate to probably keep the captaincy in the absence of Johannes, who has now gone to Wits.”
Mkhize made 34 appearances in all competitions this season, notably earning a maiden Bafana Bafana call-up for a 2018 World Cup qualifier with Burkina Faso in October last year.
The 29-year-old joined the coastal outfit from Maritzburg United as a free agent in September 2016, the same team City are due to meet in the MTN8 quarter-finals next term.