{"slug": "show-hn-mu-a-personal-home-server", "title": "Show HN: Mu – A Personal Home Server", "summary": "Mu, a personal home server released as a single Go binary, runs everyday services — news, mail, markets, weather, search, images, video, blog, social, places, reminders — behind a Go Micro registry with an LLM agent that calls them as tools. The open-source AGPL-3.0 project is available hosted at micro.mu or self-hosted, and exposes a web app, REST API, MCP server, A2A endpoint, and CLI, with 40+ tools accessible via MCP and optional USDC payment per request through the x402 protocol.", "body_md": "A personal home server\n\nA personal home server. One Go binary runs a set of everyday services — news, mail, markets, weather, search, images, video, blog, social, places, reminders — behind a [Go Micro](https://github.com/micro/go-micro) registry, with an LLM agent that calls them as tools. The same services are reachable as a web app, a REST API, an MCP server, an A2A endpoint, and a CLI.\n\nUse it hosted at [micro.mu](https://micro.mu), or self-host the single binary — same product either way. Open source, AGPL-3.0.\n\n**All services in one process.** Each domain (news, markets, mail, weather, …) is a Go Micro service with typed handlers, registered in-process behind an in-memory registry. One binary, no external infrastructure; the same handlers can later be split across processes by swapping the registry.**An agent over those services.** An LLM — Claude, Atlas Cloud (DeepSeek), or a local Ollama / OpenAI-compatible endpoint — calls the services as tools, composes answers, and keeps per-user memory across sessions.**A web UI that's a home screen.** Cards render each service at a glance (headlines, prices, weather, unread mail); the agent sits inline to act on what you're looking at. Logged-out visitors get a public version with live public data.**Several front doors to the same services.** A REST API, an MCP server at`/mcp`\n\n, an A2A endpoint at`/a2a`\n\n, and a CLI where every tool is a subcommand. API and MCP callers can pay per request in USDC via[x402](https://x402.org).\n\nEach is a service, reachable in the web app and directly over REST, MCP, A2A, or the CLI. The agent calls them as tools; each is also usable on its own.\n\n**Agent**— Ask anything. It calls news, markets, mail, weather, search and more, then synthesises an answer. Remembers your preferences.**Chat**— Conversational AI with session history** News**— Headlines from RSS feeds, chronological, with AI summaries** Markets**— Live crypto, futures, commodity, and currency prices** Weather**— Forecasts and conditions** Mail**— Private messaging and email (SMTP server with DKIM, inbound filtering)** Social**— Public discussion threads** Blog**— Microblogging with daily AI-generated digests** Video**— YouTube without ads, algorithms, or shorts** Images**— Generate images from a prompt, plus a daily nature / mindful image** Search**— Search the web without tracking, with a clean reader view** Places**— Search places and nearby results with configured providers and open-data fallbacks** Islam**— A daily Islamic reminder (verse, hadith, reflection), also an MCP tool** Apps**— Build and use small, useful tools (like** Saved**, a built-in read-later list) — pin any app to the top of your home screen** Stream**— Public event feed for agents and tools to subscribe to\n\nRuns as a single Go binary. Use the hosted instance, or self-host your own.\n\nSign in to the web app with a username and password, a **passkey** (WebAuthn), or **Google**. Already have an account? Link Google to it from **Account** settings and use Google sign-in from then on. For the API and CLI, generate a Personal Access Token at `/token`\n\n.\n\nPasskeys work out of the box. To enable Google sign-in when self-hosting, set `GOOGLE_CLIENT_ID`\n\nand `GOOGLE_CLIENT_SECRET`\n\n(and optionally `GOOGLE_REDIRECT_URI`\n\n, which defaults to `<your-origin>/oauth2/callback`\n\n) from `/admin/env`\n\nor the environment.\n\nBecause every capability is a service, it's reachable however you like. Mu exposes a REST API and an [MCP](https://modelcontextprotocol.io) server at `/mcp`\n\n, so AI agents and tools can connect directly.\n\n```\n{\n  \"mcpServers\": {\n    \"mu\": {\n      \"url\": \"https://micro.mu/mcp\"\n    }\n  }\n}\n```\n\n40+ tools — news, search, weather, places, video, email, markets, images — accessible via MCP. AI agents can pay per-request with USDC through the [x402 protocol](https://x402.org). No API keys. No accounts. Just call and pay. First 10 calls per wallet are free.\n\nSee [MCP docs](/micro/mu/blob/main/docs/MCP.md)\n\nEvery MCP tool is also available as a `mu`\n\nsubcommand. The same binary runs the server (`mu --serve`\n\n) and the CLI.\n\n```\nmu news                                 # latest news feed\nmu news_search \"ai safety\"              # search news\nmu chat \"hello\"                         # chat with the AI\nmu agent \"what is the btc price?\"       # run the full agent\nmu web_search \"claude code\"             # search the web\nmu weather_forecast --lat 51.5 --lon -0.12\nmu me                                   # your account\nmu help                                 # full tool list\n```\n\nThe CLI is registry-driven — every tool added to the MCP server automatically becomes a CLI command.\n\n```\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\nSee [CLI docs](/micro/mu/blob/main/docs/CLI.md) for more.\n\nTalk to the AI agent from Discord or Telegram. Ask questions, check markets, get news — all from chat.\n\nDiscord slash commands: `/agent`\n\n, `/news`\n\n, `/markets`\n\n, `/weather`\n\n, `/mail`\n\n, `/social`\n\n, `/blog`\n\n, `/video`\n\n, `/search`\n\n, `/apps`\n\n, `/balance`\n\n, `/usage`\n\n.\nTelegram commands: `/agent`\n\n, `/ask`\n\n, `/news`\n\n, `/markets`\n\n, `/weather`\n\n, `/usage`\n\n.\n\nSee [Discord docs](/micro/mu/blob/main/docs/DISCORD.md) and [Telegram docs](/micro/mu/blob/main/docs/TELEGRAM.md) for setup.\n\n```\ncurl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh\ngit clone https://github.com/micro/mu && cd mu\ndocker compose up\ngit clone https://github.com/micro/mu\ncd mu && go install\nmu --serve\n```\n\nOpen ** http://localhost:8080** and Mu walks you through a one-time setup: create\nyour admin account and pick an AI provider (Claude, Atlas Cloud, or a local\nOllama / OpenAI-compatible endpoint). That's enough to have a working agent.\n\nPrefer the terminal? Configure the provider headless, then start the server:\n\n```\nmu setup        # pick a provider, paste a key\nmu --serve      # first account you create becomes admin\n```\n\nOr set everything by hand if you'd rather:\n\n```\nexport ADMIN=you@example.com          # who's admin (else: first account)\nexport ATLAS_API_KEY=xxx              # or ANTHROPIC_API_KEY, or OPENAI_BASE_URL\nmu --serve\n```\n\nOnce you're admin, every other key (YouTube, Brave search, weather, mail/DKIM,\nGoogle sign-in…) is configurable from `/admin/env`\n\nin the browser.\n\nSee [Installation guide](/micro/mu/blob/main/docs/INSTALLATION.md) for full setup.\n\nCustomise feeds, prompts, and cards by editing JSON files:\n\n`news/feeds.json`\n\n— RSS news feeds`chat/prompts.json`\n\n— Chat topics`home/cards.json`\n\n— Home screen cards`video/channels.json`\n\n— YouTube channels`places/locations.json`\n\n— Saved locations\n\nSee [Environment Variables](/micro/mu/blob/main/docs/ENVIRONMENT_VARIABLES.md) for all options.\n\nFull docs in the [docs](/micro/mu/blob/main/docs) folder.\n\n[AGPL-3.0](/micro/mu/blob/main/LICENSE) — use, modify, distribute. If you run a modified version as a service, share the source.", "url": "https://wpnews.pro/news/show-hn-mu-a-personal-home-server", "canonical_source": "https://github.com/micro/mu", "published_at": "2026-07-21 09:24:41+00:00", "updated_at": "2026-07-21 09:53:15.999223+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-agents", "ai-tools", "developer-tools", "ai-products"], "entities": ["Mu", "Go Micro", "Claude", "Atlas Cloud", "DeepSeek", "Ollama", "OpenAI", "x402"], "alternates": {"html": "https://wpnews.pro/news/show-hn-mu-a-personal-home-server", "markdown": "https://wpnews.pro/news/show-hn-mu-a-personal-home-server.md", "text": "https://wpnews.pro/news/show-hn-mu-a-personal-home-server.txt", "jsonld": "https://wpnews.pro/news/show-hn-mu-a-personal-home-server.jsonld"}}