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