L'une des composantes les plus importantes du protocole MQTT est la définition et la typologie des messages, car elles sont l'une des bases de l'agilité dans laquelle réside sa force. Chaque message est composé de trois parties :
- Correction de l'en-tête : Il occupe de 2 à 5 octets, obligatoirement. Il se compose d'un code de contrôle, qui identifie le type de message envoyé, et de la longueur du message. La longueur est codée en 1 à 4 octets, dont les 7 premiers bits sont utilisés, et le dernier est un bit de continuité.
- En-tête variable : Facultatif, il contient des informations supplémentaires qui sont nécessaires dans certains messages ou situations.
- Contenu (charge utile) : Il s'agit du contenu réel du message. Il peut avoir un maximum de 256 Mo, bien que dans les mises en œuvre réelles, le maximum soit de 2 à 4 Ko.