Skip to main content

Eclipse Mosquitto

Eclipse Mosquitto is an open-source message broker that implements the Message Queuing Telemetry Transport (MQTT) (Message Queuing Telemetry Transport) protocol for lightweight publish/subscribe messaging between devices and applications.

  • MQTT 3.1.1 and MQTT 5.0 message broker for publish/subscribe communication (message-oriented middleware)
  • Supports constrained devices and low-bandwidth, high-latency, or unreliable networks (IoT connectivity)
  • Provides authentication, authorization, and Transport Layer Security (TLS) support for secure messaging (security and access control)
  • Includes client utilities such as mosquitto_pub and mosquitto_sub for testing and scripting (developer tooling)
  • Available for multiple platforms and deployable on servers, gateways, and embedded systems (deployment flexibility)

More About Eclipse Mosquitto

Eclipse Mosquitto is an open-source MQTT message broker (message-oriented middleware) developed under the Eclipse Foundation. It implements versions 3.1, 3.1.1, and 5.0 of the MQTT protocol (IoT messaging protocol), which is designed for lightweight publish/subscribe communication between devices, services, and back-end systems. The project targets use cases where bandwidth, processing power, or network reliability are constrained, such as sensor networks, embedded devices, and Machine-to-Machine Communication (M2M).

At its core, Eclipse Mosquitto manages MQTT topics and message routing between publishers and subscribers (event distribution). MQTT clients connect to the broker over Transmission Control Protocol (TCP) and exchange messages using a topic hierarchy. Mosquitto handles Quality of Service (QoS) levels defined by MQTT, retained messages, and persistent sessions depending on client configuration. The broker maintains client connections, manages subscriptions, and enforces protocol rules, acting as the central point for MQTT traffic in an environment.

The project provides various configuration options for security and access control (security and identity). It supports TLS for encrypted connections, client certificate authentication, and username/password-based authentication. Access control lists (ACLs) allow administrators to restrict which topics clients can publish to or subscribe from. These features enable enterprises to align MQTT messaging with internal security policies and network segmentation practices.

Eclipse Mosquitto includes command-line utilities such as mosquitto_pub and mosquitto_sub (developer tooling) for publishing and subscribing to topics from scripts, test environments, or diagnostics workflows. These tools assist in validating broker configuration, troubleshooting connectivity, and integrating simple automation flows. The project also offers libraries and documentation that describe how MQTT clients can interact with the broker from different platforms.

In enterprise and institutional environments, Eclipse Mosquitto is used as an MQTT backbone for Internet of Things (IoT) platforms, telemetry collection, device management, and real-time data distribution (IoT infrastructure). It can run on general-purpose servers, edge gateways, and resource-constrained hardware, supporting architectures where data is aggregated at the edge before being forwarded to central systems. Mosquitto often operates alongside Hypertext Transfer Protocol (HTTP) APIs, databases, analytics platforms, and device management systems, acting as the messaging layer between devices and applications.

From a directory and taxonomy perspective, Eclipse Mosquitto fits into categories such as MQTT broker, IoT messaging infrastructure, and publish/subscribe middleware. Its adherence to the MQTT specification and support for multiple protocol versions allow interoperability with a wide range of MQTT client libraries and devices that implement the same standard. This positions Mosquitto as a component for organizations that require standardized, lightweight messaging across heterogeneous device fleets and back-end services.