That's not what it means to be hacked! Everybody can see your public IP address, there's no way to hide it, nor is there any security concerns if someone knows it, because two computers can't connect if they don't know each other's IP addresses. McAfee won't protect it, nor is there any reason to. A VPN will somewhat hide it, by replacing it with an alternative IP address, but that alternative IP address is also publicly visible.
The public IP address belongs to your ISP, not to you. So any geographical identifying information is about your ISP, not you. No one can directly locate you with your IP address. At best they might be able to tell which city you're located in, and that's about it. If you use a VPN, then the IP address will show the location of your VPN servers, but you could choose a VPN server located anywhere else in the world that you like.
So if someone has gotten your IP address, did they get your public IP address from your ISP, or your public VPN IP address? If they got your ISP address, then it's likely that you were sending your mail or whatever when you weren't using your VPN.