The 33-year-old replaces Mark Pettini, with compatriot Mark Cosgrove remaining skipper for Championship fixtures.
"Mark Pettini will be freed up from all that comes with the job," head coach Pierre de Bruyn said. "He will continue to be a vital part of the squad."
McKay took 71 wickets for Leicestershire in 2016, including 56 in Championship Division Two.
Australia pace bowler Clint McKay has been named as Leicestershire's captain for limited-overs cricket in 2017.