XMPP knows invite links, there are even servers which support invite pages which list suitable clients one could use for XMPP. Prosody for example has this module you could enable: mod_invites_page
And then there is also Snikket, which is a pre-configured XMPP server suite (running prosody under the hood) with some nice QoL improvements baked in which you can selfhost as well: Snikket Quick Start Selfhost
XMPP knows invite links, there are even servers which support invite pages which list suitable clients one could use for XMPP. Prosody for example has this module you could enable: mod_invites_page
And then there is also Snikket, which is a pre-configured XMPP server suite (running prosody under the hood) with some nice QoL improvements baked in which you can selfhost as well: Snikket Quick Start Selfhost