Heat 1 tablespoon of butter in a large skillet over medium-low heat. Add the shallots and tomatoes, season with salt and pepper, and cook for 2 to 3 minutes, until the tomatoes begin to soften. Transfer the tomatoes to a small bowl and set aside.
Melt the remaining 2 tablespoons of butter in the same skillet. Whisk together the eggs and milk in a large bowl to combine and season with salt and pepper, to taste. Add the eggs to the skillet and cook for 5 to 6 minutes, stirring gently until the eggs are glossy and soft curds begin to form. Stir in the reserved tomatoes and mozzarella and cook for 1 to 2 minutes, until the cheese begins to melt. Remove from the heat and stir in the basil. Season with salt and pepper, to taste.