The shadow chancellor also shrugged off fears that 100-plus of the party’s MPs would refuse to toe the line, predicting they would “rally around” if the go-ahead is given.
“I am always up for an election whenever it comes – and I have got my winter coat ready,” Mr McDonnell said.
The comments came as the prime minister ordered a special cabinet meeting, to reach agreement on an expected bid to trigger a snap election just two weeks before Christmas.
A two-thirds majority is needed in the Commons to overturn the fixed term parliaments act, stipulating no election before May 2022 – making Labour’s decision crucial.
But the party is divided, many MPs preferring to delay an election until next year, with Labour around 10 points behind in the polls, and continue to push for a Final Say referendum first.
Mr McDonnell stressed Labour still wanted to revive the “paused” withdrawal agreement bill – this time with proper scrutiny – but acknowledged negotiations with the government appeared to be over.
Instead, an FTPA vote is expected early next week, with Mr Johnson refusing to accept the three-month extension to Article 50, until 31 January, which the EU is expected to grant.
Speaking to journalists, Mr McDonnell rejected Labour’s slump in the polls, insisting: “I want a majority Labour government, I think that’s what we’ll get.”
He said no decision had been taken about whether to go for a December election, saying: “We will confront that hurdle when we see it.”
But he also rejected suggestions that Labour MPs would defy an order from Jeremy Corbyn to vote for a snap poll because of fears for their “political life expectancy”, as he called it.
“No, there’s always a difference of opinion when – there was last time when the snap election came. Once an election is in the offing people usually rally together
“Everyone is always worried about their political life expectancy but, when the election comes, they rally around and get on with it.”
But the leadership faces huge opposition. Pat McFadden, a senior Labour backbencher, said: “I don’t think we should have an election now.
“The issue before us is Brexit. I think we got a duty to decide the future of that issue and an election should come after that.”
And Ben Bradshaw, a former cabinet minister, said: “The secret is in the name –
It’s general, it’s how you want a government for the whole of the country, for every single issue.”
“Millions of voters would be disenfranchised”, he argued, pointing to voters who wanted a Labour government – but supported Brexit.
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies