The Ospreys have lost fellow New Zealand and Welsh five-eighths Gareth Anscombe for the season due to a knee injury that forced him out of the Rugby World Cup and McKenzie has stepped into the breach.
Ospreys lost their opening European Champions Cup game against Munster 13-32 at the weekend.
A former Maori All Black and New Zealand Under-20s five-eighths, McKenzie, the older brother of All Black Damian McKenzie, has spent time with the Chiefs, Crusaders and Blues in Investec Super Rugby and after a long connection with Taranaki in Mitre 10 Cup play, he spent the 2019 season with Southland, his home province.
Ospreys general manager Dan Griffiths said: "It was disappointing to lose Gareth, but our focus was to bring the right quality of player into the squad for the remainder of the season.
"It's been a challenging start with World Cup representation and a series of injuries having a significant impact, particularly to backline resources.
"With the addition of Marty, we have recruited a player who has been a regular feature for the Chiefs in Super Rugby, playing with, and against, some of the world's top players on a weekly basis.
"He will bring experience, creativity and a fresh perspective on and off the field.
"We are looking forward to seeing him in an Ospreys jersey," he said.
McKenzie will join South Africans Marvin Orie and Shaun Venter as new players in the side.
Head coach Allen Clarke said, "We're delighted to have secured the signature of such a highly rated player in Marty for the remainder of the season. He's a talented outside half who has a good understanding of the game having played for quality Super Rugby franchises.
"Having spoken to him a number of times, I know Marty is eager to meet up with the boys and get on the field," he said.
Ospreys meet Saracens on Saturday in the European Champions Cup. They have home and away games with Racing 92 on December 7 and 13 and then Welsh derby games against Cardiff Blues on December 21 and Llanelli Scarlets on Boxing Day. That will be followed by a Pro14 game against the Cheetahs on December 30.