There is one caveat that you might need to bear in mind when using xmlrpc to execute Belcanto, and I thought it might be a good idea to let you know about it before someone files a bug. Using this interface is like using the commander, the Belcanto is parsed and executed at the time the command is issued. This means that it is not timely, and in fact there is no guarantee of the time it will take to run the command as it is executed in a different thread that has a lower priority than others in EigenD. The way we make Belcanto timely is to effectively precompile it, and the mechanism for this is the Talkers. The reason I mention this is that if, for example, you are starting and stopping the Metronome, or changing a scale, you will find that if the system is lightly loaded it may well seem timely because it only takes a few milliseconds to run, but if things get busy then it might start to take hundreds of milliseconds, and you're going to notice that. Talker commands are executed in the audio buffer in which they are issued, so add no latency at all, and this is reliable.
Before you ask, no, there isn't yet an xmlrpc interface to enable you to set Talker phrases up. You could in theory do this using the normal Belcanto xmlrpc process, using a Talker you create for the purpose, but we're about to make some big changes in the way that Talkers work to make them a lot nicer to use, so anything you write doing that will probably stop working in the 2.X series. By all means have a go though, it'll be really interesting to see what you come up with, just please bear in mind that you might have work to do to keep it working later.
With that caveat, have fun!
John