Preheat your oven to 350°F (175°C). Line a 12-cup muffin tin with paper liners or grease the cups well to prevent sticking.
In a large bowl, whisk together the all-purpose flour, baking powder, baking soda, salt, cinnamon, and nutmeg.
In a separate bowl, beat the eggs with the granulated sugar until smooth. Add the pumpkin puree, vegetable oil, and vanilla extract, mixing until fully incorporated.
Slowly add the dry ingredients into the wet mixture, stirring gently with a spatula just until combined. Avoid overmixing to keep the muffins light and tender.
Fold in half of the chopped walnuts or pecans, reserving the rest for the streusel topping.
In a small bowl, combine the brown sugar, rolled oats, reserved nuts, and cold butter cubes. Use a pastry cutter or fork to cut the butter into the mixture until it resembles coarse crumbs.
Spoon the batter evenly into the muffin cups, filling each about 3/4 full. Generously sprinkle the streusel topping over each muffin.
Bake for 20-25 minutes, or until a toothpick inserted into the center comes out clean. The tops should be golden brown and slightly crisp.
Remove the muffins from the oven and let them cool in the tin for 5 minutes before transferring to a cooling rack. This prevents sogginess and keeps the streusel crisp.