Protobuf descriptor

Adds a protobuf descriptor and supersedes #1161.