dvdrothen 
Eu tenho um VPS no qual configurei o Mosquitto e acesso pelo endereço do servidor na  internet  e a porta utilizada para o broker.
https:// meuservidor.com.br:1883    , sendo que a conexão ao broker é realizada através da biblioteca paho-mqtt (embora existam outras). Tanto em aplicações python, C++ em microcontroladores, Java, Javascript, etc.
Um exemplo de aplicação é a leitura e escrita de  recursos de um microcontrolador conectado à rede/internet usando uma aplicação no bootblocks como um supervisório. Dessa forma uma aplicação poderia, por exemplo, acionar um dispositivo através da mudança de status de uma variável , ou ler o valor de  um sensor de temperatura, e o mqtt é um protocolo, leve, consome poucos recursos da rede muito eficaz. o MQTT pode ser utilizado também para comunicação de diferentes instâncias de uma aplicação
 Pode ser instalado o  broker  "mosquitto"  no servidor.  Para uso no Bootblocks, podem ser criados blocos que usam a biblioteca paho-mqtt.js  para subscrição e publicação de tópicos, criação de usuários etc. O acesso ao broker, normalmente é feito pela porta 1883.
  
Um exemplo de script:
`<!DOCTYPE html>
<html lang="pt">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MQTT Web Client</title>
    <script src="https://unpkg.com/paho-mqtt/mqttws31.min.js"></script>
</head>
<body>
    <h2>Teste MQTT via Web</h2>
<button onclick="publicarMensagem('meu/topico', 'Teste de Mensagem', 1)">Publicar</button>
<div id="mensagens"></div>
<script>
    let client; // Cliente MQTT
    /**
     * Conecta ao broker MQTT
     * @param {string} serverUrl - Endereço do servidor (ex: ws://server.com:9001/mqtt)
     * @param {string} user - Usuário MQTT (opcional)
     * @param {string} password - Senha MQTT (opcional)
     * @param {boolean} useSSL - Se deve usar SSL (true para wss://, false para ws://)
     */
    function conectarMQTT(serverUrl, user = "", password = "", useSSL = false) {
        const clientId = "client_" + Math.random().toString(16).substr(2, 8);
        client = new Paho.MQTT.Client(serverUrl, clientId);
        client.onConnectionLost = (responseObject) => {
            console.error("Conexão perdida:", responseObject.errorMessage);
        };
        client.onMessageArrived = (message) => {
            console.log("Mensagem recebida:", message.destinationName, "->", message.payloadString);
            document.getElementById("mensagens").innerHTML += `<p><strong>${message.destinationName}:</strong> ${message.payloadString}</p>`;
        };
        const options = {
            onSuccess: () => console.log("Conectado ao broker MQTT!"),
            onFailure: (error) => console.error("Erro ao conectar:", error.errorMessage),
            useSSL: useSSL
        };
        if (user && password) {
            options.userName = user;
            options.password = password;
        }
        client.connect(options);
    }
    /**
     * Publica uma mensagem em um tópico MQTT
     * @param {string} topico - Nome do tópico
     * @param {string} mensagem - Mensagem a ser enviada
     * @param {number} qos - Qualidade de Serviço (0, 1 ou 2)
     */
    function publicarMensagem(topico, mensagem, qos = 0) {
        if (!client || !client.isConnected()) {
            console.error("Erro: Cliente MQTT não conectado!");
            return;
        }
        const message = new Paho.MQTT.Message(mensagem);
        message.destinationName = topico;
        message.qos = qos;
        client.send(message);
        console.log(`Publicado: ${mensagem} no tópico ${topico} com QoS ${qos}`);
    }
    /**
     * Inscreve-se em um tópico e retorna a mensagem recebida
     * @param {string} topico - Nome do tópico para assinar
     */
    function inscreverTopico(topico) {
        if (!client || !client.isConnected()) {
            console.error("Erro: Cliente MQTT não conectado!");
            return;
        }
        client.subscribe(topico, {
            onSuccess: () => console.log(`Inscrito no tópico: ${topico}`),
            onFailure: (error) => console.error(`Erro ao inscrever no tópico: ${error.errorMessage}`)
        });
    }
    // Exemplo de conexão com servidor MQTT
    conectarMQTT("ws://server_address.com.br:9001/mqtt", "usuario", "senha", false);
    // Inscrever-se em um tópico após a conexão
    setTimeout(() => inscreverTopico("meu/topico"), 2000);
</script>
</body>
</html>
`
o protocolo mqtt geralmente usa a porta 1883.
As funções conectarMQTT ,  InscreverTópico e  publicar mensagens podem ser base para blocos para utilização  do broker no bootblocks. Podem tambem existir blocos para criação , manutenção e exclusão de usuários no broker.
Documentação do Mosquitto    https://mosquitto.org/