If your DH is worried that he will shout at him, she’s clearly an abusive bully. Appalling.
BTW, extremely well done for putting YOUR boundaries in 👏 👏 👏. Keep it up 😊
Looks like your husband really needs to work on his boundaries with her, his sense of anger and refusal to be intimidated by her. Or else to decide whether the relationship is worth it at all. It is probably deteriorating over time anyway. If someone bullies and shouts at you that is a very reason not to see them, no other reason necessary.
The issue with the children will evolve somewhat from that. For example, I stopped my narcissist mother seeing my son at various periods because of her awful rages/behaviour, and she still holds that against me! However I was a single parent. If your MIL is like that they are never satisfied and it is always someone else’s fault. If she is abusive to your son this is a perfect excuse not to see her.
However, I’m not underestimating the issue. It is a bit of a minefield, difficult. You could try and treat her transactionally; if she is a narcissist, she will respond to that (although she prefers obviously to have everything her way). So you reward good behaviour and punish bad behaviour. So for example, if she shouts at your husband, then he doesn’t see her or let the children see her for a time and tell her her behaviour is unacceptable in clear terms.
Your husband is lucky that he has you to support him, but I have read of stories of toxic in-laws really destroying a relationship, and your husband needs to be aware of that too and protect your marriage. Therapy might be helpful.
PS. I did keep in contact with my narcissist mother, for a couple of specific reasons I’m not going to go into. But really, it would’ve been much easier to be no contact. She is now elderly and still problematic to deal with. And, as I said, she finally turned on my 18 year old son 😞 now too (even though before though that they got on okay).
hope that helps in some way.