# moscajs/aedes

Barebone MQTT broker that can run on any stream server, the node way

Repository: https://github.com/moscajs/aedes
Canonical: https://ross.abutalabs.com/products/aedes
Language: JavaScript
License: MIT
License Family: permissive
Topics: mqtt, mqtt-broker, nodejs, mqtt-server, mosquitto, iot, stream, aedes, hacktoberfest
Last push: 2026-08-25T10:33:10+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 90, longevity 100
- inputs: {"age_days": 4198, "days_push": 8, "days_rel": 64, "gap_med": 22.5, "n_releases_24m": 5}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1967, forks 239 (observed 2026-08-28T04:05:59.988795+00:00)

## What it is
Aedes is a barebone, stream-based MQTT broker for Node.js that can run on any stream server, supporting MQTT 3.1/3.1.1 over TCP, TLS, and WebSocket. It offers pluggable middlewares for persistence, authentication, and authorization, and can be clustered for high availability.

## Use cases
- run a lightweight mqtt broker in node
- embed an mqtt server inside my existing node app
- self-host a mosquitto alternative with javascript
- broker mqtt messages for iot devices
- add pub/sub messaging over websockets and tcp
- cluster an mqtt broker with redis persistence
- customize mqtt authentication and authorization with plugins
- bridge multiple mqtt brokers together

## When to choose
- you need an embeddable, programmable MQTT broker in a Node.js application
- you want a lightweight barebone broker you can extend with middleware plugins
- you need MQTT 3.1/3.1.1 over TCP, TLS, or WebSocket with persistence and clustering
- you are building IoT messaging infrastructure on the Node.js ecosystem

## When to avoid
- you need full MQTT 5.0 support, which is not yet implemented
- you want a standalone production broker with a GUI and no coding, where Mosquitto or a full-featured broker may fit better
- your stack is not JavaScript/Node.js and you prefer a native broker binary

## Facets
- artifact type: library
- maturity: active
- function: message-queue, http-server, middleware, auth, authorization, caching
- domain: iot, backend, developer-tools, microservices
- platform: cross-platform, cli
- tags: mqtt, mqtt-broker, pubsub, stream-based, iot-messaging, mosca, mosquitto-alternative, websocket-support, tls, clusterable, pluggable-middlewares, offline-buffering, message-persistence, mqtt-bridge, sys-topics, hacktoberfest, messaging, nodejs, docker

## Member repositories
- moscajs/aedes (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:59.988795+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:05:25.360601+00:00, confidence not recorded.
  - readme: https://github.com/moscajs/aedes (fetched 2026-08-28T04:05:59.988795+00:00, sha 3d78ef613e6c)
  - registry_npm: https://registry.npmjs.org/aedes (fetched 2026-08-29T10:45:17.924692+00:00, sha 343b72a65544)
- Data as of 2026-08-30T08:39:29.467469+00:00.
