MMRelay
Meshtastic ↔ Matrix Relay
MMRelay is a self-hosted bridge between a Meshtastic meshnet and Matrix. It runs as a long-lived service, connects to one Meshtastic node, logs in to Matrix with a bot account, and relays eligible traffic between configured Meshtastic channels and Matrix rooms.
Meshtastic meshnet ⇄ Meshtastic node ⇄ MMRelay ⇄ Matrix rooms
How it works at a glance
- Meshtastic side: MMRelay connects to a Meshtastic node over Serial, BLE, or TCP/network (for example, a node reachable over Wi-Fi).
- Matrix side: MMRelay joins configured rooms using a dedicated Matrix bot account.
- Room/channel mapping: one or more Meshtastic channels (0–7), each mapped 1:1 to a Matrix room.
- Bidirectional relay: eligible mesh traffic can be posted to the mapped Matrix room, and eligible Matrix traffic can be transmitted on the mapped Meshtastic channel.
- Identity boundary: messages posted into Matrix are sent by the MMRelay bot. Meshtastic sender names and node IDs are preserved as attribution; they are not Matrix-authenticated identities.
For the full conceptual model—including meshnet terminology, the recommended relay-node setup, message flow, mapping behavior, and the identity/trust boundary—see How MMRelay Works.
Start here
- Installation and setup — install MMRelay and create a configuration
- Getting started with Matrix — Matrix basics and account setup
- E2EE setup — encrypted Matrix rooms and bot-device identity
- Docker · Helm · Kubernetes — deployment options
- What's new in 1.4 — release and upgrade guidance
- Documentation index — all versioned project documentation
Highlights
- Bidirectional Meshtastic ↔ Matrix message relay
- Multiple meshnets and configurable room/channel mappings
- Serial, BLE, and TCP/network Meshtastic connections
- Matrix end-to-end encryption support
- Replies and reactions across the bridge
- Message formatting and payload-size handling for Meshtastic
- SQLite-backed node/message state
- Docker and Kubernetes deployment support
- Core, community, and local plugin support
- Optional MQTT integration through Meshtastic firmware
E2EE: MMRelay uses mindroom-nio with vodozemac for encrypted Matrix rooms. Cross-signing applies to the Matrix bot device only; it does not authenticate Meshtastic identities. See the E2EE guide, especially before resetting authentication or cross-signing state.
Meshtastic library: MMRelay uses mtjk, a Meshtastic Python fork with additional BLE, connection-lifecycle, and thread-safety work used by this project.
Plugins
MMRelay can be extended with built-in core plugins, Git-managed community plugins, and local custom plugins. Plugins run inside the MMRelay process, so install third-party code only from sources you trust.
Community
- Project room: #mmrelay:matrix.org
- Meshnet Club space: #meshnetclub:matrix.org
- Public relay room: #mmrelay-relay-room:matrix.org
Metadata
Release files for mmrelay 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mmrelay-1.4.1.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mmrelay-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / mmrelay-1.4.1.tar.gz
| Download URL | mmrelay-1.4.1.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
65fbae70ec65470974e00f2b6de56f18efce36e0ecd34ded52188d0472701c4a
|
|
BLAKE2b-256 checksum How to use checksums |
e1dd050f507f93b3958f5ed03845bf78e38b06d3385920cf3fcd9ac2d05c3102
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logRelease files / mmrelay-1.4.1-py3-none-any.whl
| Download URL | mmrelay-1.4.1-py3-none-any.whl |
|---|---|
| Size | 503.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bc297f3b03bc3fc1d1dc805a8dfb3175b075902c6d6368ab4fc69865a6d7bbdb
|
|
BLAKE2b-256 checksum How to use checksums |
9efa1a2c111f3cbeede0d090f27f4cf8c951a7421bce4af9bff63168d864ccaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency log