Towerpro Servo Mg995 not working with nodemcu

I have attached single mg995 servo with nodemcu but it does not work properly, I am using default sweep function to rotate it 180 degrees but sometimes it rotates by just a few degrees or sometimes by just 90 degrees.
I have used a single 5V 2A usb adapter and have given to both(node mcu and the servo) of them differently means even their ground is common.
Does this servo not work on 3.3V io of node mcu?
It will be very kind of y'all to help me out.

I don't know about the I/O voltage. I DO know that powering an Arduino and a servo from the same power supply can lead to BIG problems.

Do you have a way to do about these things?