The shadow chancellor said he was “sure” the party would whip its MPs to support an amendment for another public poll, despite opposition from many MPs in Leave-voting areas.
However, he paved the way for some politicians to rebel against the party, saying it was important to “respect” colleagues with different views.
His intervention comes amid a backlash from some Labour MPs in Leave-voting areas against the party’s unexpected decision to support a fresh public vote.
Dozens are reported to be ready to vote against another referendum, including several shadow ministers who may have to resign from the frontbench.
The row has prompted calls from some MPs for Labour to offer a free vote on the issue.
But Mr McDonnell told Sky News’s Sophy Ridge on Sunday: “Normally we will whip and that will be decided in the normal way by the chief whip and the shadow cabinet.
“I’m sure on an issue as this we would see a whip, but you’ve also got to respect people’s views and their constituency interests.”
The shadow chancellor warned MPs they will “never be forgiven in the future” if they enable a no-deal Brexit or a bad exit agreement, and said: “They’ve got to look to the interests of the country, they’ve got to protect people’s jobs, they’ve got to protect the economy.”
Labour has said it will table an amendment in favour of another referendum when Ms May brings her revised Brexit deal back to the Commons, which she has vowed to do by 12 March.
Mr McDonnell appeared to reject calls for shadow ministers to be allowed to vote against the motion.
He said: “There will be a discussion in shadow cabinet and in the normal way we’ll come to a conclusion on the exact wording of whatever amendment is put up, and you’d expect the frontbench to support it.”
But he hinted that those who do not do so may avoid punishment, and said: “We’ve got to respect people’s views on this. They come from different areas, different constituencies, and they’ll be listening to their own constituents.
“Right the way across the House, in all the different political parties, there are views being expressed that are being expressed honestly and validly that we’ve got to respect.”
Caroline Flint, the Don Valley MP, urged the Labour leadership to offer a free vote, and claimed that up to 70 of the party’s MPs were ready to rebel to vote against a fresh referendum.
She said: “Myself and so many Labour MPs in the general election 2017 made a promise to our voters to respect the outcome of the referendum, and that was Labour’s policy.
“So my appeal to Jeremy Corbyn, John McDonnell, to Keir Starmer, is to allow MPs to have a free vote on an improved deal, so those who want a second referendum can vote for that but those of us who want to keep our promises to our electorate can also keep faith with those people.”
She added: “I think there are 60 or 70 Labour MPs who feel as strongly as I do against a second referendum.”
Rebecca Long-Bailey, the shadow business secretary, also appeared to raise doubts about the party’s policy shift, and insisted a fresh referendum should not be the priority.
She told the BBC’s Andrew Marr Show: “We have got to leave all options on the table to avoid an economic catastrophe for Britain. We are not looking to overturn the result of the referendum.”
On a fresh referendum, she said: “That’s not the point we should be moving towards. We need a deal that will pass parliament and secure economic protection for people.”
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies