Showers at the start and finish of the game at Windsor Park in Roseau made for a complicated contest but New Zealand did enough to win the first of two matches to follow their test series win.
Chasing 133 off a reduced 18 overs, New Zealand had reached 4-117 off 15 overs when rain forced an end.
They were 12 runs ahead of the par score under the Duckworth-Lewis method.
After losing the toss, the West Indies reached 8-132, with 90 minutes of rain reducing the game by two overs each.
New Zealand seamers Tim Southee, Trent Boult and Corey Anderson all took two wickets to keep the hosts in check, while leg-spinner Ish Sodhi also claimed a scalp in his international T20 debut.
Andre Fletcher scored 52 off 39 balls for the West Indies, putting on 88 runs for the third wicket off 10.1 overs with Darren Bravo (30 off 28).
New Zealand openers Kane Williamson and Jimmy Neesham scored 19 and 11 respectively at better than a run-a-ball.
McCullum's controlled knock of 40 off 35 balls ensured the tourists kept the required run rate in check before Ross Taylor delivered the final touches with an unbeaten 28 off 20 balls.
Captain Darren Sammy claimed three wickets for the West Indies.
The second game is at the same venue on Sunday, the last fixture of a five-week tour.