At least 42 people died and 500 were injured late Saturday in Douma, a suburb of Damascus, many of them while sheltering in basements during an artillery and bombing attack, rescue and medical workers told the Associated Press.
"President Trump last week signaled to the world that the United States would prematurely withdraw from Syria," McCain said in a statement.
"Bashar Assad and his Russian and Iranian backers have heard him, and emboldened by American inaction, Assad has reportedly launched another chemical attack against innocent men, women and children, this time in Douma."
The incident came less than a week after Trump, speaking about Syria, declared: "I want to bring our troops back home."
McCain praised Trump for condemning the attack Sunday on Twitter, but said, "The question now is whether he will do anything about it."
The president, in tweets, ripped "that animal Assad" and lay blame for the Syrian president's power on Russia, Iran and even President Barack Obama. Obama warned in 2012 that Assad's use of chemical weapons would cross a "red line," but he didn't back up the threat with military action.
McCain said, "History will render a bitter judgment on America for that failure. But no one should believe we are out of options."
McCain hailed Trump's "decisive action" last April, when he ordered a missile strike against Syria after more than 80 people died in a chemical weapons attack.
"He should do so again, and demonstrate that Assad will pay a price for his war crimes," McCain said.
U.S. Ambassador to the United Nations Nikki Haley said Sunday that the United States and eight other countries called for an emergency meeting Monday of the U.N. Security Council to discuss the situation.
"The Security Council has to come together and demand immediate access for first responders, support an independent investigation into what happened and hold accountable those responsible for this atrocious act," she said.