
The way I see it, instead of having the MCP be some sort of web app servers communicate with, it could be a fake game client. Server support would then just be protobuf and eEvent; suitable eEvents for match wins etc. need to be sent, of course.
What would the MCP's functions be, then?
1. It would need to have a database of teams and their players and the teams' home server group (US vs. EU)
2. During the tournament, it would need to be connected to all available servers.
3. It would need to authenticate itself to the servers and be granted admin rights.
4. It would randomize teams and servers right before the first round starts.
5. It would set the server names and team names according to the game scheduled on each server, so everyone knows where to go.
6. It would remove players joining wrong teams.
7. It would either start the games on schedule or, if an admin is present, wait for his command.
8. It would keep track of scores, inform players about them (either via the team name hack or round center messages) and declare game winners.
9. It would post here about the game results and pending games.
10. It would propagate game winners to the next round and repeat at step 5 (legs would be independent, of course), telling teams where to go.
'course, a bleeding edge server that doesn't exist yet would be required, but all the other special case code would reside in the MCP, with the server just being a dumb slave. What better time to test new server code than during tournaments?

Dunno, but that sounds doable. The difficult bit would be that the complete current tournament state would need to be saved in files/databases at all times, so the program can continue in case of crashes and other accidents.