Mon (a clipping of monsters) are collectible virtual entities, which typically come in a number of varieties and feature unique traits or personalities. MonStrPub is an extension to ActivityPub for supporting mon in a federated context.
MonStrPub is defined through a large number of specifications. All MonStrPub implementations must support MonStrPub Core, which lays down basic ground-rules for transmitting mon information. In addition to this, implementations may support any of a large number of optional specifications, which add functionality on top of this system.
This design approach was chosen to help create a clear path towards implementation and to ensure interoperability between servers which implement some, but not all, of MonStrPub's vast set of features. It also makes it easier for third parties to define their own MonStrPub extensions without breaking compatibility with other servers.
MonStrPub is itself built upon another set of specifications, known as RPPub. RPPub provides an abstract vocabulary for use in roleplaying contexts and puts forth a set of basic requirements for handling these objects. The RPPub specification may later be used as the foundation for any manner of specifications, not just ones involving mon.
You can view an overview of the specifications which make up MonStrPub here, or which make up RPPub here.
Naturally, having specifications is meaningless if there aren't any platforms which support them. For this reason, the KibiMon team is working hard to develop supporting MonStrPub implementations alongside the current specs. (And others may join in the effort as well!)
You can view the current list of known implementations, alongside information about which specifications are covered, here.
MonStrPub is developed by KibiMon. You can learn more about them here.
Want to contribute to MonStrPub? Find more information here.