Steffen, who signed with the Premier League champions from the Columbus Crew in 2019, has spent the past two seasons as the primary backup to Ederson, keeping eight clean sheets in 21 appearances across all competitions. He has made just two appearances in the Premier League.
"I think it's a big coup for us and so I'm delighted we've brought Zack in," Middlesbrough boss Chris Wilder said in a statement.
"We knew we had to improve the goalkeeping department. We brought in Liam Roberts and now we're adding Zack, who has just signed a four-and-a-half-year deal with Man City. Man City don't hand out four-and-a-half-year contracts if they don't think anything of them.
"Everyone knows his situation, he needed to play because of the World Cup. He had an agreement with Man City, but he could have easily stayed there and sat comfortably as their number two. He wanted to go out and he's agreed to come here."
For Steffen, the move will secure consistent playing time and give him a better chance to earn a starting spot for the United States at the World Cup.
Steffen is one of three European-based options for the U.S. -- along with Arsenal's Matt Turner and Nottingham Forest's Ethan Horvath -- who faced the prospect of limited first-team minutes in the build-up to the tournament.
Steffen did not play for the U.S. during its four June matches for what the team said were family reasons. He has made 29 international appearances since he made his debut in 2016, including six during World Cup qualifying.