Cut off a thin slice from the bottom of the tomatoes so the stand flat. Cut around the top of the tomatoes leaving about ½ inch on the sides. Scoop out the top and insides leaving the sides and bottom intact. Place on a greased ovenproof dish.
Put all of the removed tomato bits into a saucepan. Cook over high heat for 3 minutes.
Remove the herbs and pour the tomato puree through a fine mesh strainer, mashing with the back of a spoon to get as much juice and pulp as possible.
Add the tomato puree back to the saucepan with the parsley, thyme and bay leaf. Simmer over low heat for 10 minutes stirring occasionally. Remove the herbs, stir in the chopped bread and set aside.
In a skillet combine olive oil, bacon, shallots and garlic and sauté until the bacon is lightly browned. Add chopped mushrooms and cook a few minutes until mushrooms start to release some water.
Combine bread mixture, bacon and mushroom mixture and the egg. Stuff into the tomato shells.