We use browseServer for something like this.
Steve wrote and documented a nice piece of code for it in the above thread.