John McDonnell has said Labour would vote for a Brexit deal if it “protects jobs and the economy” as he tried to argue that his party’s position was in line with what British business wanted.

The shadow chancellor was speaking immediately after he met delegates from business at Bloomberg’s City of London offices, where he said “the big issue” they had raised with him was the status of the Brexit negotiations.

“We are as worried as they are about the uncertainty, and the lack of assurance coming from government about the deal,” McDonnell said, arguing it was critical that Theresa May secured a divorce agreement in the next month from Brussels.

McDonnell said Labour could be prepared to back a Brexit deal in certain circumstances, which also included staying in the customs union and close to the single market, although he added that he thought that would be unlikely.

“We’ll support a deal that the government brings back if it protects jobs and the economy, simple as that,” but said that there was no sign of that at the moment because “you never know who is in charge in cabinet”.

The Labour frontbencher added: “We’ve got to secure a deal, based on membership of the customs union and a close and collaborative relationship with the single market. I think there’s a deal to be had, and that the Europeans will offer a deal that will be acceptable to us on that basis.”

McDonnell said that his opposite number, Philip Hammond, should “stand up in cabinet and say there’s got to be a deal” and that ministers “can’t pander to some elements in his backbenchers” by talking up the possibility of a no-deal Brexit.

McDonnell also refused to budge on his decision not to oppose increasing income tax thresholds for higher-rate taxpayers. He said Labour “would probably abstain” if there was a specific vote on tax thresholds but the party would nevertheless vote against the budget as a whole when MPs vote on it on Thursday afternoon.