Skip to main content
Mentra Miniapp SDK betaThe SDK is in beta, so its APIs may change before general availability.There is currently no way to distribute a miniapp built with the Miniapp SDK. In a future release, developers will upload miniapps through the Mentra Developer Console, and users will download them from the Mentra Miniapp Store. Neither service supports Miniapp SDK distribution in MentraOS 3.0.Only use the Miniapp SDK if you are comfortable with these limitations.Developing on Mentra Live? We recommend using the Mentra Bluetooth SDK.The developer tools are available in the Mentra App under Settings → Miniapp Developer Settings.Share feedback with an in-app bug report, on Discord, or by email at help@mentra.glass.
A miniapp is a bundle that runs on the user’s phone: there’s no server to host, no domain, no uptime to manage. MentraOS 3.0 supports local development and testing, but it does not provide a supported way to distribute a miniapp to users.
Looking for the @mentra/sdk cloud SDK? Apps used to be cloud-hosted servers built with @mentra/sdk. They’re now built on-device with the Mentra Miniapp SDK (@mentra/miniapp), which these docs cover. The older cloud SDK docs live at mentraglass.com/legacy.

Dev install (you, iterating)

While you’re building, mentra-miniapp dev serves your project over the LAN with hot reload. Scan the QR from the Mentra App and your changes reload on save. This is the inner loop; see the Quickstart. Dev mode is not an installation: the computer and CLI must remain running to serve each miniapp’s runtime bundle. The Mentra App keeps a separate dev entry for each manifest package name and caches its name and icon, so you can scan and test multiple dev miniapps together. Rescanning the same package updates that entry. Use a release install when you want the miniapp to run without the computer.

Release install (local testing over LAN)

To put a real, installed build on one or more test phones on your local network, run:
This builds, packs, and serves the bundle behind a miniapp://release QR. Anyone on the same network can scan it to install. The miniapp installs on the device, runs offline, and persists across restarts: no laptop required once it’s installed. This is intended for local testing, demos, and dogfooding; it is not a supported distribution channel. Each install is logged in your terminal, and the server stays up so multiple devices can install from the same QR.

Future distribution

In a future release, developers will upload miniapps through the Mentra Developer Console, and users will download them from the Mentra Miniapp Store. The Developer Console and Mentra Miniapp Store do not support Miniapp SDK distribution in MentraOS 3.0. The CLI can already produce the ZIP artifact intended for that future workflow:
The artifact is written to build/<packageName>-<version>.zip. Make sure your miniapp.json is accurate before you pack: its hardwareRequirements will decide which glasses can see your miniapp, and its permissions will drive the OS prompts users see.
Camera, photo, and live-streaming features run through the on-glasses Bluetooth stack, not a cloud server. See the Bluetooth SDK docs for those workflows.

Versioning

Bump version in miniapp.json for every release build. The CLI names the artifact <packageName>-<version>.zip, and installed miniapps are stored per version (lmas/<package>/<version>/), so a new version installs cleanly alongside or over the old one.

Next steps

CLI reference

dev, release, and pack in detail.

The manifest

Get permissions and hardware requirements right before you build a release.