I play a good bit of engineer. When I'm USMC or PLA, I'll use the stock shotgun, since the pump-actions are just awesome, but I don't like the MEC one, with its puny damage, so while MEC, I'll go with the MP7, which I really like (I don't think much of the Jackhammer, either, the recoil is ridiculous on that thing).
The MP7 has a longer effective range than the shotguns, but realistically, not by much. As with the other Engineer weapons, it's reliant on close range and you getting the drop on your opponent, either by surprise or by sneaking up behind them. I get best use out of the MP7 on full-auto, at close range. Yes, it's got a small ammo count, but the 40-round magazine is enough to kill two targets.
Don't start shooting at someone if you're too far out. Get used to judging the range at which you can control the spray to get your kill in 20 rounds, and don't fire at all from outside that range. Charge the guy down, run towards him, get close and then open fire, not before. In crowded, cramped quarters (say the Palace on Warlord), the MP7 shines. You can run around a corner into the enemy and just hold down the trigger, unloading 40 rounds at 900rpm doesn't take long, and it'll kill the first two guys coming at you (at which point you'll probably need to run away, or hope a medic gets to you quickly...). In less cramped terrain (say the streets of Mashtuur), you'll have to make clever use of cover and fight smart. You can't win a stand up fight against someone with an assault rifle at anything beyond very close range, so don't try. Run away, run around and get closer, then pop back out and mow them down.
If the target is at long enough range for you to consider switching to single-shot and plinking away at him, don't. Take out your pistol instead. The pistol does more damage per hit (20 vs. 19, not much but it could make all the difference), and is more accurate at long range.
Having said that, yes, the MP7 has a low ammo count. With a total of 120 bullets, you've got about enough firepower to kill 6 people, and realistically it'll be 4-5. If you're likely to be in an extended firefight, you'll need to keep a Support guy nearby (which shouldn't be too hard, those guys are everywhere if there's an infantry battle going on), or you may be better off with the pump shotguns, which are brilliantly efficient in terms of kills per ammo (being 1 for 1).
Alternatively, spend some quality engineering time in a vehicle: I've never had ammo troubles in a tank