Is there a specific reason why none of the JMX MBeanServer adaptors implement the MBeanServer interface?
If they did, then my client would only need a simple factory to create the necessary adaptor, and it would use is as any local MBeanServer. Instead, I still have to write a wrapper that implements the MBeanServer interface to hide the specific adaptor implementations.
With RMIAdaptorImpl, for instance, all the calls are delegated to the actual instance of the MBeanServer. RMIAdaptor interface could easily be changed to extend MBeanServer without breaking anything there.
Methods such as deserialize make little sense on the client side. There's going to be a separate interface with a smaller contract than what the current MBeanServer interface has today, and which it will extend in the future, which matches better to what you need on the client side. Also there's going to be an additional client side interface.