"There's no violation of any rule in bringing him in, but the appropriateness of it, I think, was certainly off," the retired four-star general said on "America's Newsroom."
Trump’s comments came after a day of tense meetings with his European counterparts about how best to approach Iran and the recent tensions in the region.
On Sunday, Iran’s Foreign Minister Mohammad Javad Zarif made a surprise visit to the summit at the behest of Macron. Trump insisted that he knew about Zarif’s appearance but did not meet with him.
Trump said there was "great unity" among the G-7 nations that Iran cannot be allowed to have nuclear weapons.
Keane said he believes Macron's invitation to Zarif was more about "self-promotion" for his domestic audience.
"I think it's kind of small on his part, frankly. He knows the United States is embroiled in a major international crisis with the Iranians and trying to get them to change their behavior for everybody's benefit, in terms of their aggressive and malign behavior in the Middle East," he explained, noting Israel's recent defensive strikes against Iran and Iran's seizure of a British tanker.
"I think it had more to do with a political stunt than anything else."
Fox News' Edmund DeMarche contributed to this report.