McCain, R-Ariz., said in Afghanistan that Obama's 2009 pledge to begin a withdrawal this year added too much uncertainty to the situation and undermined the plan to win the loyalty and support of the Afghan population.
"The fact is there is no recommendation by any military person to have this early withdrawal, and it's an unnecessary risk," McCain told CNN's "State of the Union.
McCain, the ranking Republican on the Senate Armed Services Committee, said the idea of a negotiated settlement with the Taliban was premature, as proven by last week's raid on a Kabul hotel by militants with ties to both the Taliban and Pakistan.
The senator told CNN that while he did not agree with Obama's plans, he would not dismiss it as a political move and was confident the military would do its best to carry out its orders effectively.
Ron Burgundy interviews Peyton Manning on SportsCenter
Martin Bashir resigns from MSNBC over Sarah Palin comments