micro/mu
The runtime for a personal assistant
Mu – Runtime for the Micro personal assistant
Mu is a self‑hosted runtime that powers Micro, an open‑source personal assistant. It provides a unified inbox, a web UI, a CLI client, and an HTTP API that let you interact with AI‑driven agents. Agents are given instructions and a toolbox of services (mail, calendar, search, weather, shell, etc.) and they choose the appropriate tool to fulfill your request.
Core concepts
| Concept | What it is | How you use it |
|---|---|---|
| Home | Web dashboard (http://localhost:8080) where you create an account, pick an LLM provider, and view ongoing conversations. | Open the URL in a browser after starting the server. |
| Inbox | Single entry point for messages coming from HTTP, SMTP, SMS, or XMPP. All inbound communication is stored here as threads. | Send an email to agent@your-domain, text the configured number, or POST to /agent. |
| Agents | The AI “brains”. The default agent is Micro; additional agents can be added with custom instructions and toolsets. | Ask a question via the UI, CLI (mu ask …) or API; the agent decides which service tools to invoke. |
| Services | Stand‑alone back‑ends that expose tools to agents (mail client/server, web search, RSS news, YouTube search, weather, shell commands, etc.). | Agents call these services automatically; you can also browse them directly. |
Installation (quick start)
# Download and run the installer script
curl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh
# Start the server (listening on localhost:8080)
~/.local/bin/mu --serve --address 127.0.0.1:8080
- Open http://localhost:8080 in a browser.
- Create an account and select an AI provider (e.g., OpenAI, Anthropic, etc.).
- Follow the optional docs for deeper configuration (hosting, mail, development).
Command‑line client
The mu binary works as a thin client that talks to the local (or remote) server.
# Ask the assistant a question
mu ask "What needs my attention?"
# List threads in the inbox
mu inbox list
# Show help
mu help
Set MU_URL to point at a custom server, or log in once with mu login https://your.host.
HTTP API
All interactions can be scripted with a simple REST endpoint.
curl "$MU_URL/agent" \
-H "Authorization: Bearer $MU_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"prompt":"What needs my attention?"}'
The response contains:
text– the assistant’s reply.thread– an identifier you send back to continue the same conversation.
Authentication is handled via a bearer token (MU_TOKEN). A separate x402 host can be configured for paid service calls (e.g., higher‑tier LLM usage).
What makes Mu different?
- Unified inbox – messages from email, SMS, XMPP, or direct HTTP all appear as threads.
- Pluggable services – agents can call a rich set of tools without you writing code.
- Self‑hosted – run the whole stack on your own machine or server, keeping data private.
- Multi‑protocol entry points – interact with the assistant using the channel that’s most convenient for you.
Where to go next?
- Read the full installation guide:
docs/INSTALL.md. - Explore service configuration and custom agents in
docs/README.md. - Contribute new services or agents via the repository’s contribution guide.
Mu is essentially a personal‑assistant platform that lets an LLM act as a productive tool‑using agent, all under your control.
Related
- Project
- Dispatch
- Project
- Project
- Project