(CNN) As official Washington began to wind down on a unseasonably sweaty Friday afternoon, John McCain dropped a bombshell that threatened to end the last-ditch attempt by Republicans to repeal and replace the Affordable Care Act.

"I cannot in good conscience vote for the Graham-Cassidy proposal," the Arizona Republican senator said in a statement. "I believe we could do better working together, Republicans and Democrats, and have not yet really tried."

And with that, McCain became the second Republican to formally announce his opposition to the legislation offered by Sens. Lindsey Graham of South Carolina and Bill Cassidy of Louisiana, and left Senate Majority Leader Mitch McConnell with no room for error as he tries to gather 50 votes to get rid of Obamacare. Graham, it should be said, is a close friend of McCain's and frequent policy partner.

With McCain and Kentucky Sen. Rand Paul as "no's," McConnell -- and President Donald Trump -- need to find a way to win the votes of Sens. Susan Collins of Maine and Lisa Murkowski of Alaska. And that didn't look likely before McCain announced opposition -- and seems even less likely after it.

Both senators voted against the last attempted repeal and replace effort in the Senate in late July. Murkowski has been studiously neutral on this latest bill. Collins on Friday sounded as though she was unlikely to support the legislation.

"I'm leaning against the bill," she said in Portland, Maine . "I'm reading the fine print on Graham-Cassidy," she added, noting that she has major concerns about pre-existing conditions being fully -- and affordably -- covered.

Given McCain's stature among among the centrist bloc in the Senate, his "no" is more than simply a single vote against the legislation. McCain gives cover for Collins and Murkowski to also be "no's" -- allowing them to present a united front against what will almost certainly be a withering attack on their conservative credentials by President Trump.

McCain's announcement then is rightly read as the fulcrum on which this Graham-Cassidy bill tilts. Which -- for Trump, McConnell and other Senate leaders -- is deja vu all over again.

McCain was the third and deciding "no" vote against the Republican repeal and replace effort in the summer, delivering a dramatic thumbs-down on the floor of the Senate just days after returning to Washington after a diagnosis of brain cancer.

In the wake of that vote, McCain insisted he opposed any major legislation that didn't go through so-called "regular order:" committee hearings, a markup process to refine the bill and a score on the legislation's cost from the Congressional Budget Office. In the days before his "no" announcement on Friday, McCain repeatedly called for regular order; Senate leaders had scheduled hearings on the bill next week in an attempt to satiate him. It wasn't enough.

For McCain, the decision is clearly one with his legacy in mind: He wants to do everything he can to restore comity and normalcy to the chamber he has called his work home since 1987. He has also always relished the role of maverick, of the man no one could pin down and no one could force to do or say something he didn't want to do or say.

For his Republican colleagues -- and the Republican President -- it now looks as though their long-sworn promise to repeal and replace the ACA is dead. The chance to pass repeal and replace with just 50 votes expires at the end of this month and it's hard to imagine some other proposal sweeping in that could achieve their goals. And, while it's possible that both Collins and Murkowski decide to be for Graham-Cassidy -- or Paul decides to reverse course -- it's hard to see how that would come to pass.

Republicans had been loathe to move on from attempts to get rid of Obamacare because they felt trapped by the oaths they had sworn to their base to do just that. With control of all the levers of executive and legislative power for the first time since 2002, there was some expectation that repeal and replace would be simple.

It proved anything but. House Republicans swung and missed once before getting the repeal/replace measure through. Trump stood alongside Speaker Paul Ryan in a White House victory lap but it soon looked to be a premature celebration as the measure flagged in the Senate.

As that slowdown hit the Senate, the bill -- or, more accurately, the broad attempt to repeal and replace Obamacare -- grew less and less popular. Republicans found themselves caught between a rock and a hard place: Vote for repeal and replace and face the wrath of a majority of voters who said they didn't want it, or don't vote for repeal and replace and risk the wrath of their base.

The latter now seems like the far more likely option at this point. Assuming Senate Republicans can't get the votes, there is likely to be considerable backlash in the most activist elements of the Republican base -- a worrying development heading into the 2018 midterm election. (Midterm elections tend to be a battle of party bases.)

And then there is the least predictable -- and most powerful -- man in politics: Donald Trump. Trump spent the aftermath of the July repeal and replace failure berating McConnell for not being able to rally the votes. In the run-up to Graham-Cassidy, he has slammed Paul and insisted that any Republicans who vote against the latest measure are essentially affirming their support for Obamacare.

How will Trump handle this latest setback? Will he redouble (or double) his efforts to get the votes of Murkowski and Collins? Will he turn his fire on McCain? Will he attack the entirety of Republican in the Senate as dithering political creatures?

We'll get a hint at where Trump will go in his planned campaign rally speech for Republican Sen. Luther Strange tonight in Alabama. If I was a betting man, I would think Trump will come out with both barrels blazing against McCain and the rest of the political insiders who appear to be inches away from tanking the last, best chance to repeal Obamacare.

As for McCain, he's not likely to lose friends in the Senate, despite his decision to buck the party. Graham, his longtime friend, tweeted his disappointment Friday , but said it won't affect his respect for the Arizonan.

"My friendship with @SenJohnMcCain is not based on how he votes but respect for how he's lived his life and the person he is," Graham said.