After much mild aggravation looking at this problem and not seeing it except rarely, I discovered that the so-called MonkeyServer is actually the ADB (Android Debugging Bridge) daemon which, for some totally unexplained reason, didn't start when monkeyrunner threw the exception.
The ADB daemon is supposed to automatically start when monkeyrunner starts. It can also be started manually. Also, you can move the ADB's address and port number to whatever you would like from its defaults and then supply the address/port and logging level programatically to monkeyrunner when you start monkeyrunner.
Ah, the joys of mildly deficient documentation.