An open runtime for personal assistants.
Mu brings together agents, connected services, accounts, permissions and persistent history. Run it yourself or use a hosted instance, then access your assistants through a focused client or the broader web console.
Micro is the general-purpose assistant. Other agents can have their own instructions and permitted tools. The Android app and standalone web client provide voice and text interaction; the web console provides Home, Inbox, Agents and Services for overview, configuration and direct access to capabilities.
Services supply mail, calendar, contacts, information, media and storage. Agents use those capabilities to carry out requests. Mu runs them together as one Go binary, using Go Micro as its underlying framework.
Android / web / other clients
|
assistant contract
|
MUCP over HTTPS + JSON (*)
|
Mu runtime (server)
+----------------------+
| Authenticated entry |
| | |
| Agent + thread |
| | |
| Permitted tools |
| | |
| Services |
+----------------------+
(*) MUCP uses readable JSON over HTTPS at /. Proto defines shared Go/Java
message types; binary RPC and generated browser clients are not required.
See Architecture for the layers and assistant interaction, MUCP for the protocol and its specifications, and contracts for the assistant interface.
Mu is intended to provide a deliberate way to use connected services without an advertising-driven or engagement-driven experience. You choose the agents and connections. Self-hosting gives you control of the runtime; model providers and connected services still receive the data needed for the operations you enable.
curl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh
~/.local/bin/mu --serve --address 127.0.0.1:8080See Install Mu for the quick start.
Optional documentation covers hosting, configuration, mail and development.
Use Mu through the API, CLI, web or mobile apps. See the client map for implementation details.
curl "$MU_URL/agent" \
-H "Authorization: Bearer $MU_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"prompt":"What needs my attention?"}'The response includes text and thread; send the thread identifier
back to continue. Requests and credentials belong in request bodies and headers.
The Mu runtime contracts provide Home, Inbox, agent and service discovery
interfaces, with durable personal requests and typed results. Mu is its first
runtime implementation. Service contracts begin with Contacts;
other services remain available through agent tools.
A separately configured x402 host provides paid service calls.
The binary acts as a client. It defaults to the hosted instance; set
MU_URL or use mu login https://your.host for your own server.
mu ask "What needs my attention?"
mu inbox list
mu helpThe standalone Mu CLI connects to a remote runtime with
mu-cli login, mu-cli ask and mu-cli chat, without installing the server.
Open http://localhost:8080 to create your account and choose an AI provider.
The full web experience at /home installs as the Mu PWA.
The separate React/TypeScript client runs independently
with npm run dev or from the mu-web.zip release using node serve.mjs.
Mu also serves its production build at /app/, reusing your website sign-in.
Desktop apps package this client for Windows, Mac and Linux.
The Android app provides voice and text interaction with your agents. It connects to micro.mu by default; choose your own server in Settings. Use the web client on iPhone and iPad, or install the runtime PWA for the full web experience. Find available apps on the downloads page.
Mu’s runtime and client implementations are available under the GNU AGPL v3, which permits personal and commercial use, including charging for a hosted service. No commercial licence is required when you comply with the AGPL.
The AGPL includes source-sharing obligations:
- When distributing Mu or a covered derivative, provide the corresponding source to recipients as required by the licence.
- When running a modified version over a network, prominently offer its corresponding source to the users interacting with it.
For a proprietary product based on Mu, a paid commercial licence can provide alternative terms for keeping covered modifications closed—for example, a customised assistant runtime or a branded client. Visit Micro on GitHub Sponsors for sponsorship and commercial licensing enquiries. Scope and fees are agreed separately; third-party components retain their own licences.
An independently written client connecting through MUCP or the API does not need
a commercial licence merely to connect. The
protocol contracts and generated types, and the
MUCP specification, are Apache-2.0 licensed so independent clients
and runtimes can reuse them, including in proprietary products. proto/generate
remains AGPL. See LICENSING.md for the directory-level terms.
This section summarises
the options; the licence or your commercial agreement governs use.