In the framework itself, we have a separate object for server discovery, SyphonServerDirectory. Having that handled by a class method of JSyphonClient would be fine though I think.
I imagine JSyphonClient.serverDescription() is intended as an exact match for the framework’s SyphonClient.serverDescription, which returns the dictionary describing the remote server. I’m not sure how we want to handle instantiation of clients in JSyphon though – for OpenFrameworks and Cinder we do it using a server name/app-name string pairs to avoid having to pass the serverDescription NSDictionaries used by the framework around, which might make sense here too..? In that case JSyphonClient.serverDescription() would probably be replaced by serverName() and serverAppName() methods.