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: each configured Matrix room is associated with a Meshtastic channel number. Multiple Matrix rooms may use the same channel.
- Bidirectional relay: eligible mesh traffic can be posted to mapped Matrix rooms, 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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mmrelay-1.4.0.tar.gz.
File metadata
- Download URL: mmrelay-1.4.0.tar.gz
- Upload date:
- Size: 976.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d78c984f5e54d184ed052dff884172c614baaf8a0d4032bef341613c2bc9815
|
|
| MD5 |
7f2ddb2c47106ba488129a62c6adfa73
|
|
| BLAKE2b-256 |
aed9ffa5e6f0c72fb19a69179459c21fa7d3745fa9a139c1babd6a8aa0456c9e
|
Provenance
The following attestation bundles were made for mmrelay-1.4.0.tar.gz:
Publisher:
pypi-publish.yml on jeremiah-k/meshtastic-matrix-relay
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mmrelay-1.4.0.tar.gz -
Subject digest:
6d78c984f5e54d184ed052dff884172c614baaf8a0d4032bef341613c2bc9815 - Sigstore transparency entry: 2499144684
- Sigstore integration time:
-
Permalink:
jeremiah-k/meshtastic-matrix-relay@4d8b2c1b8baf828f3aae2877eae4c3dee86b3b0e -
Branch / Tag:
refs/tags/1.4.0 - Owner: https://github.com/jeremiah-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@4d8b2c1b8baf828f3aae2877eae4c3dee86b3b0e -
Trigger Event:
release
-
Statement type:
File details
Details for the file mmrelay-1.4.0-py3-none-any.whl.
File metadata
- Download URL: mmrelay-1.4.0-py3-none-any.whl
- Upload date:
- Size: 441.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0d33862fb220a1827cf0016da0312289ad9360a6b59980ec1e068d81bbf845e
|
|
| MD5 |
0c9393f3603c0aa780e8d11710df5399
|
|
| BLAKE2b-256 |
880e3766b4bf00bc3f0ecf6de165865c9b4039c1adc9dd47e31cb1404abef01d
|
Provenance
The following attestation bundles were made for mmrelay-1.4.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on jeremiah-k/meshtastic-matrix-relay
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mmrelay-1.4.0-py3-none-any.whl -
Subject digest:
f0d33862fb220a1827cf0016da0312289ad9360a6b59980ec1e068d81bbf845e - Sigstore transparency entry: 2499144703
- Sigstore integration time:
-
Permalink:
jeremiah-k/meshtastic-matrix-relay@4d8b2c1b8baf828f3aae2877eae4c3dee86b3b0e -
Branch / Tag:
refs/tags/1.4.0 - Owner: https://github.com/jeremiah-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@4d8b2c1b8baf828f3aae2877eae4c3dee86b3b0e -
Trigger Event:
release
-
Statement type: