Laura Arber, 32, bought the takeaway from the Aldershot branch of the fast-food chain on Tuesday.
She said her daughter began to choke on the McNugget as they ate the meal at home.
Ms Arber said she had to put her fingers down the child’s throat to remove the blockage and noticed something blue in her daughter’s vomit.
“I didn’t even think it could be the chicken nugget but looked over at the box and all you could see was this blue coming out of another chicken nugget in the box of 20,” she told Hampshire Live.
The mother described the mask as being “cooked into” the nugget, almost as if it were part of the mixture.
Ms Arber returned to the branch to report the contamination and said she was told that the nuggets were not cooked on site.
A McDonald’s spokesperson said: “Food safety is of the utmost importance to us and we place great emphasis on quality control, following rigorous standards to avoid any imperfections.
“As soon as we were made aware of the issue we opened a full investigation with the relevant supplier, and have taken action to ensure any product from this batch is removed from restaurants.
“We would like to offer a full apology to the customer in question and understand they are currently in conversation with our customer services team.”