1 large egg, lightly beatenMake the stuffed shells: Bring a large pot of salted water to a boil. Add the pasta shells and cook until slightly softened but still firm, about 7 minutes. Drain and rinse under cold water. Drizzle with olive oil and toss; set aside.
Heat 2 tablespoons olive oil in a large nonstick skillet over medium-high heat. Add the onion and cook, stirring occasionally, until soft, about 4 minutes. Add the garlic and cook, stirring, 30 seconds. Add the mushrooms and cook, undisturbed, until golden in spots, about 2 minutes. Add 1/4 teaspoon salt and continue cooking, stirring occasionally, until the mushrooms are soft, about 5 more minutes. Add the spinach and stir until heated through, about 2 minutes. Let cool completely.
Finely chop the spinach-mushroom mixture and combine in a bowl with the cottage cheese, mozzarella, parmesan, egg, basil and 1/4 teaspoon salt. Stuff each shell with about 2 tablespoons of the filling; set aside.
Preheat the oven to 350 degrees F. Make the tomato sauce: Heat the olive oil in a large skillet over medium-high heat. Add the garlic, fennel seeds and red pepper flakes and cook, stirring, until lightly golden, about 30 seconds. Add the tomatoes, then rinse out the can with 1 cup water and add to the skillet; add 1/4 teaspoon salt. Bring to a simmer and cook until slightly thickened, about 10 minutes. Transfer to a blender and puree until smooth. Return to the skillet and rinse out the blender.
Make the cheese sauce: Combine the cottage cheese, mozzarella, parmesan and egg in the blender and puree until smooth.
Brush a 9-by-13-inch flameproof baking dish with olive oil and pour in half of the tomato sauce. Add the stuffed shells, then top with the remaining tomato sauce. Cover with aluminum foil and bake 25 minutes; uncover and continue baking until bubbly, 15 to 20 more minutes. Turn on the broiler; drizzle the shells with the cheese sauce and broil, about 2 minutes.