"I think the great danger now is not an American pullout," McCain told CNN television.
"I think the great danger now is a half-measure... trying to please all ends of the political spectrum."
President Barack Obama's top military commander in Afghanistan, General Stanley McChrystal, is widely believed to be seeking up to 40,000 more troops for the conflict, and McCain warned against refusing his request.
"I think to disregard the requirements that has been laid out... would be an error of historic proportions," he said.
McCain expressed sympathy for his former rival for the White House, who has found himself caught between military commanders who support troop reinforcements, and Democratic lawmakers who oppose any surge.
A group of liberal Democrats has already introduced legislation in the House of Representatives to prohibit funding for any troop increase, and most congressional support for an increased military deployment comes from Republicans.
"This is not an easy situation, nothing is straightforward," Democratic Senator Dianne Feinstein said on ABC television.
The California legislator warned that "the mission is in serious jeopardy" and expressed cautious support for any troop request from McChrystal.
"I think General McChrystal, who is one of our very best, if not the best at this, has said a counterterrorism strategy will not work," she said.
"I don't know how you put somebody in who was as crackerjack as General McChrystal, who gives the president very solid recommendations, and not take those recommendations if you're not going to pull out."
But Democratic Representative Jim McGovern warned that "enlarging our military footprint in Afghanistan would be a mistake."
"I think it would be counterproductive," he said, adding that the United States is "going bankrupt."
Senator Carl Levin, the Democratic chair of the Senate Armed Services Committee said Afghan, not US troops were key.
"The surge that will work in Afghanistan will be a surge of Afghan troops," he said on NBC television.
"The Achilles heel in Afghanistan is a shortage of Afghan troops."
Both Democrats and Republicans agreed on one thing -- that the Afghan government led by President Hamid Karzai is dangerously corrupt.
"You could send a million troops into Afghanistan and it would not legitimize their government," Republican Senator Lindsey Graham said on NBC.
But he said that a US troop increase was a necessary condition for improving the government, citing the US surge in Iraq.
"Once the security (in Iraq) got better because of the surge, the Iraqis stepped up," he said.