You wrote: "Cooking for guests and 2 kids and dealing with a baby, not easy but I believe family is important."
Now read this imaginary post: "Cooking and cleaning for an adult and a teenager, while also holding down a full-time job, is not easy, but I believe family is important."
Get the idea? She is not a retired grandma available to spend her time as she chooses. She's got a lot going on, but you seem to think that her load is somehow second place to your own load with three young kids. Please try to take a deep breath and look at things from her perspective rather than just your own. As someone else who posted noted -- your expectations for her seem very high.
She may be one of those grandparents who is just not up for, or good at, dealing with younger kids. It does happen and it does NOT make her a bad person. There's also the element of what her relationship with your husband is, as someone else noted, and you need to know that their relationship may be affecting how she feels about time with your whole family. She also surely is aware of your animosity toward her and the angerier you are, even if you think you are not showing it, the less comfortable she would feel seeing you.
I know you're new to the site so I suggest you do a search on past posts about MILs and you will find that this is not unusual and she is not a freak -- many grandparents get blasted here for "not doing enough with my multiple small kids" when maybe the grandparents are just not into small kids but do fine with older ones -- clearly your MIL does fine with a teen and an (occasional) eight-year-old. I get that. I know parents, not just grandparents, who are not terrific or comfortable during the preschool and below years but who do much better and are more attentive once kids are old enough to hold a real conversation and amuse themselves for more than a few minutes at a time. Can you step outside your anger and maybe try to see that some adults just are like that and it does not make them mean or bad humans?
Consider it from her perspective: She may feel that three young kids at once would overwhelm her; after all, she has a job and that means -- just like any working person -- she needs some down time AND time to care for her home AND time to care for, at least somewhat, the people living with her. Wouldn't you need all those things? Also, the older generation sometimes feels that they, the grandparents, may be "in the way" or "violating your privacy" if they try to see the grandkids, or that they will say or do something that the younger parents won't like. Is it possible that she is a person who might feel that she is interfering if she asks to see the kids?
Some ideas if you are able to get past your anger and try them:
Do you issue mostly general invitations to holidays? Holidays are often stressful and her adult son and teen granddaughter may have their own expectations that she will spend those days with THEM at their home. She may have conflicts you have not considered. Those weekend days when you assume she could be seeing your kids, is it possible she is doing something at home she can't do during the week because she works? Is it possible she sees the eight-year-old because it's less effort than seeing three kids at once? Do you ever try just offering to take one child over, not all three, or to have her come play with just one child while you do something with the other two?
Try inviting her when it is not a holiday and rather than inviting her for a meal or just a general "come over and visit," ask her to a specific event outside your home that your family is attending, with clear starting and ending times. For instance: "We are taking the kids to the town festival for an hour starting at 10 and then having an early lunch. You could watch the kids play games and ride rides for an hour and then we will eat at Y. We can pick you up and we'd drop you back off at your house at 12:30." She may be more comfortable if she is not expected to host or to be a guest hanging out. She may be more comfortable saying yes if she she is not expected to come up with occupation for the kids or to occupy them even at their own house.
If your kids have activities, invite her to those. "Oldest Child has a dance recital (or soccer game, or preschool singing concert) on Date X at 11 a.m. It lasts about 30 minutes. We would love to have you there to see Child perform. When it's over, if you want to come by the house for cake/a coffee shop for treats/whatever, that would be great if you'd like to join us afterward, but please do come see Child dance/play/sing."
Be specific, keep the invitations limited to set times and places, be enthusiastic about her presence. I know grandparents who dont' really "do" little kids in a general "free play with the grandkids" sense, but who are very happy to attend grandchildren's events or go to specific outings.
If you cut her off now, it will be difficult to repair later. Model tolerance and second (and third, and fourth) chances for your own children and issue her invitations. Be sure your husband does most of the inviting, too, and yes, he can talk to her IF he can do it without anger and accusations, which sounds like it might not be the case. He might be surprised to find how much pressure she feels to work AND be a grandma.
One thing about this site is perspective. Please be aware that you are lucky to have a grandparent in the picture at all. My parents are both dead and my husband's parents are elderly, infirm and thousands of miles away overseas. I would take an infrequently visiting grandparent any time over those circumstances. Many folks here would.