The bill, which passed in the House of Representatives last week, would almost certainly fail in the Democratically-controlled Senate, and Majority Leader Harry Reid has said it will not advance there. But Minority Leader Mitch McConnell has reiterated his plans to force a vote on the bill.
On CBS' "Face the Nation," McCain argued that the Senate has an obligation to hold a vote on the repeal bill, even though it would likely die.
"One thing about the Senate, it is not the most efficient organization," he told CBS' Bob Schieffer.
"We need to have a vote on it because we promised the people we would," McCain said. "Look, the message we campaigned in November, in the last November elections, [was] that we would repeal and replace. We have to have a vote on repeal so that everybody is on record whether they want to repeal."
After Congress votes on the repeal, McCain said, they should proceed with figuring out a new plan for health care.
"I think piece by piece we go through … replacing. I'm told already that the Democrats may agree with us on some changes. But there needs to be a lot more changes than what they're willing to agree to. It has to be the subject of a national debate."
McCain also spoke about how he thought the administration could cut spending in the federal budget, and conceded that not everyone would like the tough choices that have to be made.
"We've got to take on some of the sacred cows," he said. "And then we have to go after entitlements."
"Agriculture subsidies are outrageous today. Ethanol is a joke," he said. "The Post Office, a model of inefficiency.
"You and I could write the solution to Social Security problems on the back of an envelope," McCain told Schieffer. "What we have to do is sit down together and go through those remedies. Medicare is going to be much more difficult. But we have to go after the sacred cows and we have to go after entitlements."