Skip to main content

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

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

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)

Source distribution for mmrelay 1.4.1
File Size Uploaded
mmrelay-1.4.1.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mmrelay 1.4.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.4.1 This release

2 release files

1.4.0

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.11

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page