I would also explain to the kids that it isn't fair that Grandma brings something for one child and not another. I would tell them that they aren't allowed to accept gifts from Grandma unless there is something for their sibling too. In the case of items brought over for one child and not another, I would say, "I'm sorry, MIL, but it isn't fair when you bring over something for one child and not the other. Why don't you hold on to this item until you have something for each of them," and make her take the gift home with her.
IMO, if you set firm boundaries, people will behave themselves better. Allowing MIL to behave badly isn't fair to anyone else in your family.