McCain made his comments during an interview with Jay Leno on NBC's "The Tonight Show."
"The president apparently wants to have a kind of a cosmetic strike, launch a few missiles and then say 'Well, we responded'," McCain said.
Obama has said "there would be a red line if [President Bashar Assad] used chemical weapons, maybe that red line was written in disappearing ink," the 2008 Republican presidential nominee said.
"To our everlasting shame, not one single weapon from the USA has reached the hands of Gen. Idris and the Free Syrian Army," McCain said. "That is shameful, in my view."
If he were president, McCain said he would bomb the regime's runways to prevent military aircraft from taking off, create a safe zone and get weapons "to the people who are fighting and dying as we speak," NBC News reported.
Acknowledging Americans are tired of wars in the Middle East, McCain said, "I believe we can prevail without American lives in danger."