Mu: 67 Agent Tools Behind One MCP Endpoint
Mu is a new open-source project that gives AI agents access to 67 real tools—email, web search, news, markets, weather, and more—through a single MCP endpoint. The Go binary runs a full mail server with DKIM, a feed aggregator, a search index, and a wallet, all in one process. You can use the hosted version at micro.mu or self-host the single binary. It's AGPL-3.0 licensed.
One Endpoint, No API Keys
Connecting an agent is trivial. Add this to your MCP config:
{
"mcpServers": {
"mu": {
"url": "https://micro.mu/mcp"
}
}
}
No API key to paste. The first call returns a 401 with a link to the instance's authorization server, and your client walks you through sign-in. This follows the MCP authorization spec, which Claude Desktop and Cursor both support. For clients that don't, you can create a Personal Access Token at /token and send it as Authorization: Bearer.
Real Tools, Not Wrappers
Most "agent tools" are thin wrappers over someone else's API. Mu runs the actual infrastructure. The mail_inbox tool reads a real inbox. db_create writes to real storage. The tools are the instance's own capabilities, not a catalogue of third-party products.
Each tool is a Go package with typed handlers, registered in-process behind a Go Micro registry. The registry is the single source of truth: a service declares itself once, and every surface (MCP, CLI, web app, SDK) derives from that declaration.
Here's an example service spec:
var Spec = service.Spec{
Name: "web",
Handler: new(Server),
Description: "The open web: search it, read a page from it",
Page: "/search",
Endpoints: map[string]service.Endpoint{
"Search": {Doc: "Search the web for current information", Cost: wallet.OpWebSearch},
"Fetch": {Doc: "Fetch a web page and return readable content", Cost: wallet.OpWebFetch},
},
}
Register it, and it becomes available to agents over MCP, the built-in agent, custom agents in the tool picker, the CLI, and apps via the SDK. Extending Mu is adding an element, not wiring N integrations.
The Tool Catalog
Mu covers a wide range of services:
- Web:
web_search,web_fetch— search and read pages as clean text. - News:
news_list,news_read,news_search— RSS aggregation with full articles. - Markets:
markets_list— crypto, futures, commodities, currencies. - Weather:
weather_forecast— conditions, forecast, pollen. - Places:
places_search,places_nearby,places_eta— POI, geocoding, travel time. - Video:
video_list,video_search— curated channels, no ads or recommendations. - Mail:
mail_inbox,mail_send,mail_address— real SMTP server with DKIM. - Storage:
db_create,db_get,db_list,db_update,db_delete— per-caller records. - Files:
files_put,files_get,files_list,files_share— keep a file, get a URL. - Calendar:
events_create,events_free,events_list— schedule and find free time. - Contacts:
contacts_find,contacts_add,contacts_list— turn a name into an address. - Search:
index_search— search everything the instance holds for you. - Images:
images_generate,images_search. - Writing:
blog_*,social_*,stream_*— publish, read, discuss. - Apps:
apps_build,apps_run,apps_edit— build and run small web tools. - Faith:
islam_today,islam_prayer,islam_qibla,quran,hadith. - Money:
wallet_balance— credits and USDC top-up. - Agent:
agent,chat— ask the whole thing a question.
Account-scoped tools (mail, storage, index, images, events, files, contacts) require a signed-in caller. mail_send always requires authentication, so an unaccountable caller can't spend a domain's reputation.
CLI and Web App
Every tool is also a mu CLI subcommand. The same binary runs the server (mu --serve) and the CLI. Examples:
mu news_list # latest headlines
mu news_search "ai safety" # search news
mu web_search "claude code" # search the web
mu agent "what is the btc price?" # run the full agent
mu weather_forecast --lat 51.5 --lon -0.12
mu wallet # your balance
The CLI is registry-driven, so a new tool automatically becomes a CLI command. The web app renders cards for each service (headlines, prices, weather, unread mail) and includes an inline agent. Logged-out visitors get a public version with live data.
Self-Hosting and Configuration
Self-hosting is a one-liner:
curl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh
Or with Docker:
git clone https://github.com/micro/mu && cd mu
docker compose up
First-run setup walks you through creating an admin account and picking an AI provider (Claude, Atlas Cloud, or a local Ollama/OpenAI-compatible endpoint). You can also configure everything via environment variables:
export ADMIN=you@example.com
export ATLAS_API_KEY=xxx # or ANTHROPIC_API_KEY, or OPENAI_BASE_URL
mu --serve
Once you're admin, you can configure other keys (YouTube, Brave search, weather, mail/DKIM, Google sign-in) from /admin/env in the browser.
Configuration is JSON files:
service/news/feeds.json— RSS news feedsservice/chat/prompts.json— chat topicshome/cards.json— home screen cardsservice/video/channels.json— YouTube channelsservice/places/locations.json— saved locations
Why It Matters
Mu attacks the integration problem head-on. Instead of wiring up a dozen separate APIs, you get one MCP endpoint. The fact that it runs real infrastructure (SMTP, search index) rather than wrapping third-party APIs is a differentiator. The registry-driven design means extending the system is trivial. For developers building agents, Mu could be a solid foundation.
Getting Started
Head to micro.mu/tools to see the live tool catalogue with costs. The docs folder has an MCP guide and architecture overview. If you're building agents, Mu is worth a look.


