A Protocol Adaptor is just a JMX Client that provides a facade to non-JMX programs to access MBeans. An adaptor running locally will normally get a reference to the MBeanServer by implementing the javax.management.MBeanRegistration interface. Adaptors that run remotely can use their MBeanServerConnection.
My console Adaptor (com.admc.jmx.JmxStreamAdaptor) and Http/html Adaptor (com.admc.jmx.JmxStreamAdaptor) are described in the Instrumentation chapter. The JMX Resources chapter of this document has links to these, as well as to my web application JMX adaptor (war format).
Sun's RI includes a HTML Adaptor from their JDMK (a commercial JMX product of Sun's). MX4J comes with a very good HTTP adaptor. It's a very good product, but be aware that (a) it requires access to Java XML and XSLT libraries, and (b) it can not run over a Connector (i.e., it has to run as a local JMX Client). The Appendix of this document has an example of a very simple program to run MXJ's HttpAdaptor.