Preheat oven to 350° F. Spray a 13x9-inch baking dish or large casserole dish with cooking spray and set aside.
Cook the pasta according to the package directions. Drain and set aside.
In a medium skillet, heat the olive oil over medium heat. Add the onion and cook, stirring occasionally, until onion softens and lightly browns, about 5 minutes. Remove from heat and set aside.
In a large bowl, whisk together the eggs, milk, Italian seasoning, salt, pepper and red pepper flakes (if using). Add the onion, sun dried tomatoes, spinach, artichokes, cooked chicken, Monterey jack cheese and Parmesan cheese to the bowl. Stir until well combined.
Add the pasta and gently stir until everything is evenly distributed. (If your bowl is not large enough to fit the pasta and the artichoke mixture, you can layer the pasta with the mixture in the baking dish. stirring a bit to combine the layers as you go.)
Transfer the pasta mixture to the prepared baking dish. Cover with foil and bake 25 minutes.
Meanwhile, prepare the topping: In a small bowl, combine the bread crumbs, Parmesan, paprika and melted butter. Stir to combine.
Sprinkle the casserole with the topping and continue to bake, uncovered, for 10 minutes more, until hot and golden brown on top.