I suppose like my boilerplate complaint earlier today this has been said hundreds of times before and will be said a hundreds times again henceforth, but I must.
The President is the chief executive officer, he is ultimately in charge of the CIA and as such can dictate as to what is classified and what is not. Mary McCarthy as an employee of the CIA does not have the same level of authority the president does. It really is that simple.
To sit there and whine about Mary getting fired for "speaking truth to power" or whatever other hoary cliche you want to roll out does not change the fact. Mary broke her agreement not to divulge the information she was privy to and she is out of her job for it. Don't worry about Mary, she will hit the speaking circuit and earn $15,000 + expenses for her speeches (at least when she is out of prison). If Mary feels strongly enough what she did was right, well then pay that price, bear that burden.