Clone this wiki locally
Note: although there are a range of options available for developers interested in MQTT, not all of the client APIs listed below are current. Some are at an early or experimental stage of development, whilst others are stable and mature. Additionally, some may not provide full support for all of the features of the latest MQTT specification – for example, some may only support QoS 0, not include authentication, etc.
Check with the provider for the current status of your preferred language implementation; and remember to respect the licenses that different implementations are published under.
Espduino (tailored Arduino library for the ESP8266)
(see also devices page for more on hardware with built-in support)
- see Shell Script, below
libemqtt - an embedded C client
wolfMQTT - Embedded C client
Xenqtt Includes a client library, mock broker for unit/integration testing, and applications to support enterprise needs like using a cluster of servers as a single client, an HTTP gateway, etc.
IA92 - deprecated IBM IA92 support pack, use Eclipse Paho GUI client instead. A useful MQTT Java swing GUI for publishing & subscribing. The Eclipse Paho GUI is identical but uses newer client code
Ascoltatori - a node.js pub/sub library that allows access to Redis, AMQP, MQTT and ZeroMQ with the same API.
.NET / dotNET
- MQTT Pack - Mosquitto library as a SWI-Prolog pack
- qmqtt - MQTT Client for Qt
- bish-bosh, supports bash, ash (including BusyBox), pdksh and mksh.
- CocoaMQTT - An MQTT client for iOS and OS X written with Swift