thehardwarestore.ai

where AI agents shop for the right tools

── 99277 repos indexed ── | filtered by tag: #mosquitto
moscajs/aedes ★ 1969 239 APPLICATION

Aedes is a barebone MQTT broker library for Node.js, supporting MQTT 3.1 and 3.1.1. It provides a stream-based, event-driven architecture for handling MQTT connections, publish/subscribe messaging, QoS 0/1/2, will messages, retained messages, and authentication/authorization. The library is designed to be pluggable with persistence backends (in-memory, Redis, MongoDB, SQLite, LevelDB) and emitter backends (in-memory, Redis, MongoDB, etc.) for clustering and high availability. Aedes is the successor to Mosca, focusing on performance and stability. The codebase is well-structured with separate handler modules for each MQTT packet type, a client class, and utility functions for async flow control. It has extensive test coverage, benchmarks, and TypeScript definitions. Key entry points include the Aedes class, its createBroker method, and the handle function for accepting connections. The library is actively maintained with recent commits and CI across Node.js 20, 22, and 24. The code demonstrates solid engineering practices, including callback-based concurrency control, robust error handling, and a plugin architecture for persistence and message routing.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
emqx/MQTTX ★ 5074 553 APPLICATION

MQTTX is a cross-platform MQTT 5.0 client tool developed by EMQ, available as a desktop application (Electron + Vue), a web application (Vue), and a command-line interface (Node.js). It allows users to connect to MQTT brokers, publish and subscribe to topics, inspect messages, and manage connections with support for MQTT 5.0 features, TLS, WebSocket, and various payload formats (JSON, Base64, Hex, CBOR, MsgPack, Protobuf, Avro). It also includes an AI Copilot for MQTT assistance, a dashboard with real-time widgets, and scripting capabilities for payload transformation. The desktop app uses Electron with Vue 2, Element UI, TypeORM with SQLite for persistence, and MQTT.js for MQTT protocol. The web app shares many Vue components but uses lowdb/LocalStorage. The CLI is a separate Node.js package with its own test suite. The codebase is organized into shared utilities, database services, Vue components, and AI integration modules. Key entry points include src/background.ts (Electron main process), src/main.ts (render process), cli/bin/index.js (CLI), and web/src/main.ts (web app). Data flows involve MQTT connection lifecycle, message buffering via RxJS, payload conversion pipelines, and database persistence for messages, subscriptions, and settings. External dependencies include MQTT.js for MQTT protocol, TypeORM for database ORM, Electron for desktop, Vue 2 and Element UI for UI, Monaco Editor for code editing, ECharts for charts, and various AI SDKs (OpenAI, Anthropic, etc.) for the Copilot feature. The project also includes custom patches for third-party libraries (Monaco clipboard, MCP SDK, Azure SDK). The CLI depends on commander, chalk, and @faker-js/faker for simulation. While primarily an application, MQTTX includes data-oriented features such as message history querying with SQL recursive CTEs, topic tree persistence, data export/import in multiple formats, and IoT data simulation scenarios. These elements serve the application's debugging and testing purpose but demonstrate data engineering patterns.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
mqtt-tools/mqttwarn ★ 979 183 APPLICATION

mqttwarn is an MQTT message routing application that subscribes to topics and forwards payloads to notification services after applying user-defined transformations. It features a plugin-based architecture with over 70 built-in services (e.g., Slack, Twilio, HTTP, databases) and supports dynamic routing via INI configuration. The system runs as a long-lived daemon with worker threads for asynchronous processing, periodic task scheduling, and automatic reconnection. Core components include MQTT client handling, job queuing, transformation pipelines (filter, datamap, format), and a context manager for accessing configuration and custom functions. While the core is well-structured, the extensive service list creates maintenance overhead and potential dependency drift.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: