A home for agents, tools and services
We're building services that operate as the building blocks for agents. Mail, chat, news, video, search, etc. Then we archive any data locally so it's all searchable. Services and the archive become tools for agents to use.
Using agents has also been a very fragmented experience. Communication here is unified with everything going to one inbox, whether it's mail, chat, notes, tasks, etc. Do it all and keep track of it from one place.
What's included
- Services - 30+ services including news, mail, markets, video, etc accessible via API, CLI or the Web.
- Agents - Define an agent by name, prompt and give it specific tools, then chat with it via the web or api.
- Inbox - A single place to keep track of chats, notes, tasks, etc. Assign tasks to agents or reply directly.
Quick install guide for self hosting (let us know if it's broken).
curl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh
mu --serveOpen http://localhost:8080. The first account you create is the admin.
Quite a few things need API keys, but here's some must haves.
| For | Set | Notes |
|---|---|---|
| AI models | ANTHROPIC_API_KEY, ATLASCLOUD_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY, or OPENAI_BASE_URL |
free if you run Ollama locally |
| Web search | BRAVE_API_KEY |
Brave has a free tier |
| Video | YOUTUBE_API_KEY |
free quota |
Follow setup in CLI
mu setup # pick an AI provider, paste a key
mu --serveEverything else — mail, Google sign-in, Stripe for payments, etc — is optional.
The binary is a client, and by default it calls https://micro.mu — the instance this project runs live. Running your own? Point it there:
mu login https://your.host # saves the address and a token
mu config get # says which instance is in use, and whyWithout that, mu news list on the machine you just installed calls the
hosted instance rather than the one you are running. MU_URL and --url
override per shell and per command.
Other ways to run it:
# Docker
git clone https://github.com/micro/mu && cd mu
docker compose up
# From source
git clone https://github.com/micro/mu
cd mu && go install
mu --serveSee the installation guide.
Every service is a mu subcommand
mu news list # latest headlines
mu news search "ai safety" # search news
mu web search "claude code" # search the web
mu markets list --category stocks # live prices
mu weather forecast --lat 51.5 --lon -0.12
mu docs list --collection notes # your own documents
mu x402 # paying per call: config, and your key
mu help # full tool listEvery tool is a command: the service, then the method. The underscore form works
too, so mu news list and mu news_list are the same call.
To authenticate
mu login # opens /token in your browser, paste the PAT back
mu config set token xxx # or set it directly
export MU_TOKEN=xxx # or use the environmentRun mu --help for the list — it reads the same catalogue the agent does.
To talk to your agent instead, mu ask — it runs on the instance, so it needs
your token and no model key of your own:
mu ask "what is in my inbox?"
mu ask --agent research "anything new this week?"mu agent is the other direction and easy to reach for by mistake: it runs the
agent here, on your machine, with your own model key, renting tools from an
instance over x402 and paying per call. Same word in English, opposite ways
round.
Every service has a HTTP endpoint, at /api/v1/<service>/<method>.
curl https://micro.mu/api/v1/ # the catalogue
curl "https://micro.mu/api/v1/news/list?limit=5" # arguments in the query
curl -X POST https://micro.mu/api/v1/news/list \
-H 'Content-Type: application/json' -d '{"limit":5}'Authenticate with a token from /token as Authorization: Bearer, or with an
OAuth client. A priced endpoint answers 402 without one, which an x402 client
pays per call with no account at all.
For Tools via MCP use /mcp. See /tools for more info.
/home— an overview of everything going on./inbox— the place to see chats, mail, tasks, etc./agents— your agents, and where you make a new one./services—/news,/weather,/markets, etc.
Some files are embedded in the binary, so editing means rebuilding:
home/cards.json— home screen cardsservice/news/feeds.json— RSS news feedsservice/chat/prompts.json— chat topicsservice/video/channels.json— YouTube channelsservice/places/locations.json— saved locations
See Install for every setting the code reads.
The rest lives in /admin/config on the server.
AGPL 3.0