{
  "markdown": "# Mu\n\n**Tools for agents.**\n\n## Overview\n\nMu is an open-source runtime for agents, tools and services.\n\nIt includes **Micro**, a personal assistant that has access to all the tools and services.\n\n## How it works\n\n**Mu** is a monolothic codebase: the runtime, services, archive, inbox and agent system all in one host. Services operate as building blocks for agents — mail, chat, news, video, search, markets, weather and more. Data gets archived locally so it stays searchable and becomes contextual memory. Services and the archive become tools for Micro and any other agents you create.\n\n**Micro** is the first agent and the one you use for everything. It answers by default and can be reached from the web, email, SMS, WhatsApp or the CLI.\n\nMu comes with a unified inbox for mail, chat, SMS, WhatsApp, notes, tasks and agent activity, bringing communication and agent work into one place.\n\n## Features\n\nWhat's included:\n\n- **Micro** - The default personal assistant and the front door to the system.\n- **Clients** - Use Micro via Web, SMS, email, WhatsApp and more. Requires setup.\n- **Services** - 30+ services including news, mail, markets and video, accessible via API, CLI or the Web.\n- **Agents** - Micro answers by default; define your own by name, prompt and tools, then chat via the web.\n- **Inbox** - A single place to keep track of chats, notes, tasks, etc. Assign tasks to agents or reply directly.\n\n## Agents\n\nMu is the runtime. Micro is the first agent and the one people meet first.\n\n- **Micro** is the default personal assistant. General purpose, with the services above as its tools, so it can answer from what is true now rather than only from what a model remembers: the news this morning, the price this minute, your own mail.\n- **Code** is the second, and is not finished. It builds things on a machine of its own — writes the files, runs them, hosts the result — and what it makes outlives the conversation.\n\nYour own agents are the same shape: a name, an instruction, and the tools they may reach. Each has an address, so `agent+yours@` reaches it from anywhere that can send mail, the same way `agent@` reaches Micro.\n\n## Install\n\nQuick install guide for self hosting (let us know if it's broken).\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh\nmu --serve\n```\n\nOpen **http://localhost:8080**. The first account you create is the admin.\n\nQuite a few things need API keys, but here's some must haves.\n\n| For | Set | Notes |\n|---|---|---|\n| AI models | `ANTHROPIC_API_KEY`, `ATLASCLOUD_API_KEY`, `GEMINI_API_KEY`, `OPENROUTER_API_KEY`, or `OPENAI_BASE_URL` | free if you run Ollama locally |\n| Web search | `BRAVE_API_KEY` | Brave has a free tier |\n| Video | `YOUTUBE_API_KEY` | free quota |\n\nFollow setup in CLI\n\n```bash\nmu setup        # pick an AI provider, paste a key\nmu --serve\n```\n\nEverything else — mail, Google sign-in, Stripe for payments, etc — is optional.\n\nThe binary is a client, and by default it calls **https://micro.mu** — the hosted Mu instance where Micro runs publicly. Running your own? Point it there:\n\n```bash\nmu login https://your.host   # saves the address and a token\nmu config get                # says which instance is in use, and why\n```\n\nWithout 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.\n\nOther ways to run it:\n\n```bash\n# Docker\ngit clone https://github.com/micro/mu && cd mu\ndocker compose up\n\n# From source\ngit clone https://github.com/micro/mu\ncd mu && go install\nmu --serve\n```\n\nSee the [installation guide](docs/INSTALL.md).\n\n## CLI\n\nEvery service is a `mu` subcommand\n\n```bash\nmu news list                            # latest headlines\nmu news search \"ai safety\"              # search news\nmu web search \"claude code\"             # search the web\nmu markets list --category stocks       # live prices\nmu weather forecast --lat 51.5 --lon -0.12\nmu docs list --collection notes         # your own documents\nmu x402                                 # paying per call: config, and your key\nmu help                                 # full tool list\n```\n\nEvery 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.\n\nTo authenticate\n\n```bash\nmu login                  # opens /token in your browser, paste the PAT back\nmu config set token xxx   # or set it directly\nexport MU_TOKEN=xxx       # or use the environment\n```\n\nRun `mu --help` for the list — it reads the same catalogue the agent does.\n\nTo talk to **Micro** instead, use `mu ask` — it runs on the instance, so it needs your token and no model key of your own:\n\n```bash\nmu ask \"what is in my inbox?\"\nmu ask --agent research \"anything new this week?\"\n```\n\n`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.\n\n## API\n\nEvery service has a HTTP endpoint, at `/api/v1/<service>/<method>`.\n\n```bash\ncurl https://micro.mu/api/v1/                      # the catalogue\ncurl \"https://micro.mu/api/v1/news/list?limit=5\"   # arguments in the query\ncurl -X POST https://micro.mu/api/v1/news/list \\\n  -H 'Content-Type: application/json' -d '{\"limit\":5}'\n```\n\nAuthenticate 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.\n\nFor Tools via MCP use `/mcp`. See [/tools](https://micro.mu/tools) for more info.\n\n## Web\n\n- `/` - talk to Micro\n- `/home` — an overview of everything going on.\n- `/inbox` — the place to see chats, mail, tasks, etc.\n- `/agents` — your agents, and where you make a new one.\n- `/services` — `/news`, `/weather`, `/markets`, etc.\n\n## Configuration\n\nSome files are embedded in the binary, so editing means rebuilding:\n\n- `home/cards.json` — home screen cards\n- `service/news/feeds.json` — RSS news feeds\n- `service/chat/prompts.json` — chat topics\n- `service/video/channels.json` — YouTube channels\n- `service/places/locations.json` — saved locations\n\nSee [Install](docs/INSTALL.md) for every setting the code reads.\n\nThe rest lives in /admin/config on the server.\n\n## License\n\nAGPL 3.0\n",
  "bytes": 6377,
  "sha": "a76016b68ba767d33e5b79a8da1e5e8269d3a1d6c6f6ab114a9ae4faa040922a",
  "repo_slug": "micro/mu",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_mu_micro_mu_1d1e6696/readme"
}