PluginBench
MCP Server
Active
AGPL-3.0

mu.micro/mu MCP Server

mu.micro/mu

A personal agent with 67 tools: email, news, search, weather, markets, files, calendar, contacts—self-hosted or cloud, one Go binary.

What is the mu.micro/mu MCP server?

The mu MCP server is a personal agent platform that exposes 67 tools across news, email, web search, weather, markets, places, files, calendar, contacts, and more over a single MCP endpoint. It runs as a self-hosted Go binary or cloud service, accessible via email, web, CLI, Discord, Telegram, or any MCP client like Claude and Cursor.

mu is a unified personal agent that consolidates access to dozens of services—from email and calendar to live markets and weather—through one MCP server and token. You can self-host it on your domain, connect it to Claude or Cursor, or use it standalone. It remembers conversations across channels (email, web, Discord, Telegram) and lets you pay per tool call with USDC on Base, or run it free if self-hosted.

How to install mu.micro/mu

Copy-paste configuration for popular MCP clients.

transport: http
Config generated by PluginBench — verify against the source before use.
~/.cursor/mcp.json
{
  "mcpServers": {
    "mu": {
      "url": "https://micro.mu/mcp"
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • news_list — List latest headlines from RSS feeds
  • news_read — Read full article text
  • news_search — Search news by keyword
  • web_search — Search the web
  • web_fetch — Read a page as clean text
  • email_send — Send email from your domain
  • email_history — View email delivery history
  • email_sender — Manage sending domain
  • email_verify — Verify signup codes
  • mail_inbox — Read private messages and agent inboxes
  • mail_send — Send mail as yourself or an agent
  • mail_search — Search mail
  • mail_info — Get mail metadata
  • markets_list — View live stock, crypto, futures, commodities, and currency prices
  • markets_convert — Convert between currencies and crypto with historical rates back to 1999
  • weather_forecast — Get weather conditions and forecast
  • weather_air — Check air quality, pollutants, UV, and pollen
  • weather_marine — Get wave height, period, and direction at coastal points
  • weather_history — Retrieve historical weather between two dates
  • places_search — Search points of interest

Use cases

  • Get news headlines, search articles, and stay informed on topics across RSS feeds
  • Check live stock prices, crypto rates, and convert currencies with historical data
  • Look up weather forecasts, air quality, and marine conditions for any location
  • Send and receive email, manage contacts, and schedule calendar events
  • Search the web, fetch full article text, and summarize or extract data from pages
  • Track flights, check transit arrivals, and get directions with live traffic

mu.micro/mu MCP server FAQ

What is the mu MCP server?

mu is a personal agent platform with 67 tools covering news, email, web search, weather, markets, files, calendar, contacts, and more. It runs as a single Go binary and exposes all tools over one MCP endpoint, accessible from Claude, Cursor, CLI, Discord, Telegram, or email.

Is mu free?

If you self-host mu, all tools are free. If you use the cloud version at micro.mu, some tools (like web search, text processing, and SMS) are priced per call in credits (1p each). You can also pay with USDC on Base via x402 without signing up.

How do I connect mu to Claude or Cursor?

For Cursor and other config-file clients, create a token at /token and add it to your config with the URL https://micro.mu/mcp and Authorization header. For Claude Desktop, go to Settings → Connectors → Add custom connector and paste https://micro.mu/mcp; it will register itself and ask you to sign in.

Do I need API keys?

For self-hosting, you need API keys only for optional features: Anthropic/OpenAI/OpenRouter for AI, Brave for web search, and YouTube for video. Everything else—mail, calendar, weather, flights, hazards, transit, food, prayer, and maps—works without keys.

Can I self-host mu?

Yes. Download the Go binary with `curl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh`, run `mu --serve`, and open http://localhost:8080. You can also clone the repo and run `docker compose up` or `go install`.

What channels can I reach an agent on?

You can reach an agent via email (agent@yourdomain), web interface, Discord, Telegram, WhatsApp (within 24 hours), SMS, or any tool that sends HTTP POST to the MCP endpoint. All conversations are unified in one inbox.

README (reference)

Source of truth, from the repository.

mu

A personal agent. It has an email address. Write to it — from your mail, your phone, or anything that can send a message — and it answers in the thread and remembers the last one.

Behind it are the tools: news, mail, search, weather, markets, video, places, files, contacts, calendar and your own documents, reachable over one MCP server and token. One Go binary, your domain, your data.

How it works

It has an address. agent@yourdomain reaches the default one; each agent you make gets its own, you+research@yourdomain.

Write to it and it answers. In the thread, from your mail client, your phone, a form, a cron job, or another agent — anything that can send an email. It replies where it was written to.

One inbox, whichever way it arrived. Every conversation — the address, the web, Discord, Telegram, WhatsApp — is one record, read at /inbox. An agent remembers the last one whichever channel it came through.

Tools behind it. News, web search, mail, markets, weather, places, transit, files, contacts, calendar and your own notes and documents, over one MCP server and token. Your agent uses them; so can Claude, Cursor or your own program.

Yours to run. One Go binary. Self-host it and nothing is metered; run it for other people and anyone paying to call your tools pays you.

Install

curl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh
mu --serve

Open http://localhost:8080. The first account you create is the admin.

It runs with no configuration. A few things need an API key.

ForSetNotes
AI featuresANTHROPIC_API_KEY, ATLAS_API_KEY, OPENROUTER_API_KEY, or OPENAI_BASE_URLfree if you run Ollama locally
Web searchBRAVE_API_KEYBrave has a free tier
VideoYOUTUBE_API_KEYfree quota

Follow setup in CLI

mu setup        # pick an AI provider, paste a key
mu --serve

Everything else — mail and DKIM, Google sign-in, Stripe, x402 — is optional, and configurable from /admin/env once you are signed in as admin.

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 --serve

See the installation guide.

Connect an agent

Cursor, and clients with a config file. Create a token at /token:

{
  "mcpServers": {
    "mu": {
      "url": "https://micro.mu/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MU_TOKEN}"
      }
    }
  }
}

Claude Desktop. Settings → Connectors → Add custom connector, and paste https://micro.mu/mcp. It registers itself, opens a browser and asks you to sign in — no token needed. Pasting the URL into claude_desktop_config.json will not work: that file only takes local command-line servers.

Anything else. It is JSON-RPC over HTTP POST:

curl -X POST https://micro.mu/mcp -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Scope the connection to the services you need:

https://micro.mu/mcp?tools=news,web,mail

See micro.mu/tools for all the tools. See Help for the protocol.

Tools

Here are the tools

ServiceTools
Appsapps_build · apps_create · apps_edit · apps_fork · apps_read · apps_run · apps_search · apps_test — build and run small web tools
Archivearchive_search · archive_list — everything this instance has collected, across news, video, markets and posts at once. Use it when the question crosses a service, or when you do not know which one would hold the answer
Blogblog_create · blog_read · blog_list · blog_update · blog_delete — publish, with AI-generated daily digests
Chatchat_rooms · chat_messages · chat_send — the live discussion rooms attached to an item, and saying something in one
Contactscontacts_add · contacts_find · contacts_list · contacts_delete — turn a name into an address
Docsdocs_write · docs_read · docs_list · docs_delete — your own documents: a title and a markdown body, private by default. docs_write with an id replaces one. For something short to remember, use notes; apps persist through mu.db, which is a record store rather than documents
Emailemail_send · email_history · email_sender · email_verify — email people outside, from a sending domain of its own. Capped per day, and the history says delivered or bounced rather than only accepted. email_verify is the signup code check, under your product's name
Eventsevents_create · events_list · events_delete · events_free — schedule, cancel, and find when you are free, counting the Google Calendar you already keep
Filesfiles_put · files_get · files_list · files_share · files_delete — keep a file, get a URL
Flightsflights_overhead · flights_track · flights_airport — where aircraft are, live from the positions they broadcast themselves. No schedule behind it, so it says where an aeroplane is and never why it is late
Foodfood_product · food_search · food_hygiene — what is in a packet and whether the kitchen is clean. A barcode gives ingredients, allergens, nutrition per 100g and how processed it is, from Open Food Facts; food_hygiene gives the Food Standards Agency's inspection rating for any UK business. Where the data is silent it says so, because an absence of allergen information is not an absence of allergens. Needs no key
Hazardshazards_quakes · hazards_alerts · hazards_floods — recent earthquakes worldwide from the USGS, with magnitude, place, how long ago and any tsunami warning, and current disasters from GDACS: cyclones, floods, volcanoes and wildfires, green through red. And flood warnings in force in England from the Environment Agency — the one hazard here that is a forecast rather than a record, since a warning says flooding is expected. Pass a lat/lon to ask about somewhere in particular. Needs no key for any of them
Imagesimages_generate · images_search
Mailmail_inbox · mail_send · mail_search · mail_info — private messages, and an inbox each of your agents can be reached at. mail_send writes as you: a username stays here, a full address leaves so a reply comes back. Write to you+name@ and that agent answers in the thread
Marketsmarkets_list · markets_convert — stocks, crypto, futures, commodities, currencies, and conversion between them. markets_convert takes a past date back to 1999 and converts crypto at the live price through the dollar
Newsnews_list · news_read · news_search — RSS aggregation, full articles
Notesnotes_add · notes_get · notes_list · notes_delete — a title and what is under it, kept between conversations and read back into every one
Placesplaces_search · places_nearby · places_geocode · places_address · places_elevation — points of interest, geocoding both directions, height above sea level
Prayerprayer_times · prayer_qibla · prayer_reflection · prayer_verse · prayer_saying · prayer_search — Islamic prayer times, qibla, a daily verse and saying, and the sources by reference or by question
Recallrecall_search · recall_conversation · recall_list — everything you have ever said to an agent and been told, on any client: search it, and read a conversation back
Routesroutes_eta · routes_directions · routes_nearest — travel time with traffic, turn-by-turn, and which of several places is quickest to reach
Searchweb_search · web_fetch — search the web, read a page as clean text
SMSsms_send · sms_history · sms_number · sms_verify — text somebody and read what they text back, from a real number. Priced per segment, capped per day, and STOP is honoured
Socialsocial_list · social_search — public threads and replies
Streamstream_list · stream_post — this instance's own timeline
Taskstasks_create · tasks_list · tasks_next · tasks_update · tasks_delete — what is to be done, and work you can hand to the agent
Texttext_summarise · text_extract · text_classify · text_translate — language work at a fixed price per call: shorten it, turn it into JSON matching a schema you give, sort it into one of your labels, or put it in another language. Capped at 30,000 characters, and priced because each one is a model call we pay for
Tilestiles_tile · tiles_area — Ordnance Survey map tiles for Britain, as URLs a map library takes directly: road, outdoor (rights of way and contours) and light. Ask for one tile or for every tile covering a bounding box. Free — a tile is fetched once, ever, and served from here afterwards, because a tile does not change
Transittransit_nearby · transit_arrivals · transit_status · transit_feeds · transit_trains · transit_buses — stops near a point, what is due at one, and which lines are delayed or suspended. London is live from TfL, down to how many minutes away the bus is. Anywhere else answers from the agency's published timetable, using the same two tools and saying which kind of answer it gave — set TRANSIT_FEEDS to load one, and transit_feeds lists which are worth loading and what each costs. Needs no key either way. transit_trains is the live board at any British station from National Rail, and transit_buses is where the buses actually are near a point, from the DfT's Bus Open Data Service — the two that make this live outside London
Videovideo_list · video_search — curated channels, no ads or recommendations
Walletwallet_address · wallet_balance · wallet_list · wallet_pay — a key of your own on Base: an address that holds USDC, and paying for a tool on another x402 server with it. Capped per call and per day
Weatherweather_forecast · weather_air · weather_marine · weather_history — conditions and the days ahead; air quality, pollutants, UV and pollen; wave height, period and direction at a coastal point; and what the weather actually was between two dates. Everything but the forecast is keyless
WhatsAppwhatsapp_send · whatsapp_history · whatsapp_open — reply to people on WhatsApp. Only within 24 hours of their message, which is WhatsApp's rule and not ours: whatsapp_open says who can be written to and until when

Open an issue to request a tool.

App

The server includes a web app. A home screen renders each service at a glance — headlines, prices, weather, unread mail — and the agent sits inline to act on what you are looking at. Apps run sandboxed, in an opaque origin, and reach the platform through a fixed set of operations rather than your session.

Sign in with a username and password, a passkey (WebAuthn), or Google.

CLI

Every tool is a mu subcommand. The same binary runs the server (mu --serve) and the CLI.

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 agent "what is the btc price?"       # run the full agent
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 list

Every tool in the table above 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.

The CLI is registry-driven — a tool added to the server automatically becomes a CLI command.

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 environment

Run mu --help for the list — it reads the same catalogue the agent does.

Agent

The same binary is also an agent. mu agent brings your own model and your own wallet, reads its tools from a running instance, and pays per call — no account on that instance and no signup.

# 1. A model. The tools are rented; the thinking is yours.
export ANTHROPIC_API_KEY=sk-ant-...     # or OPENROUTER_API_KEY
                                        # or OPENAI_BASE_URL for Ollama etc.

# 2. A wallet. Created for you on first run, or make it yourself:
mu x402 key new                         # prints an address; send USDC on Base
                                        # to it. No ETH — you never pay gas.

# 3. Ask.
mu agent                                # a conversation
mu agent "what happened in markets today?"
model: anthropic/claude-sonnet-4-6
120 tools from https://micro.mu
wallet: 0x4160a863… (1.27 USDC)

> what are the top news headlines today?
· news_list
…
> of those, which matters most for markets?
… answered with no tool call, and no charge

Reading the catalogue is free, so it works before the wallet holds anything — only priced tools need funds. What a run spent is read back off the chain when it ends, not totted up from what the agent believes it authorised.

--server points it at any x402 instance; a name from X402_SERVERS works too. --seed uses a different key.

Discord & Telegram

Talk to the agent from Discord or Telegram — questions, markets, news, all from chat. Join the Discord

Every tool is a command on both, in the same two-word shape as the CLI: /news list, /markets list category:stocks, /prayer times. Discord gets one slash command per service with the methods as subcommands; on Telegram you type /news list. Both also take /agent <question> for anything that needs composing, and /usage for your own stats.

Setup for both is in Install.

Credits & Payments

A person tops up by card and spends one credit balance. A credit is 1p.

An agent can pay with USDC over x402 and never sign up. A priced call with no credentials answers 402 Payment Required naming the price and where to send it. The payment is the identity.

To write an agent that pays, see examples/x402-agent — a standalone module that imports none of this. It uses the x402 Foundation SDK, so the same file pays any x402 server.

To watch it work, mu is its own client too. Put a funded Base wallet's key in ~/.mu/keys/wallet.seed:

mu x402 call web_search query="x402"   # 402 → signs → pays → returns the result

Self-host with neither Stripe nor x402 and nothing is metered: every tool is free.

Configuration

Customise feeds, prompts and cards by editing JSON files:

  • service/news/feeds.json — RSS news feeds
  • service/chat/prompts.json — chat topics
  • home/cards.json — home screen cards
  • service/video/channels.json — YouTube channels
  • service/places/locations.json — saved locations

See Install for every setting the code reads.

Documentation

Three pages, and they are the site's: About, Help for connecting an agent, and Install for running your own. The live tool catalogue is at /tools — it is generated from what the instance runs, so it cannot go stale.

For the code, Architecture.

License

AGPL 3.0

Related MCP servers

Fills in an artist's Audora profile, tracks, albums, credits and release drafts.

MCP server para El Cheff - punto de venta para restaurantes

Multi-carrier shipping in Mexico: grouped rates, labels, tracking, pickups, address book, webhooks.

COCorpus Iuris logo

Corpus Iuris

Maintained

Derecho mexicano verificable: leyes, tesis y precedentes SCJN con vigencia fechada y URL citable

0
JavaScript
View repository →

US motocross tracks, what they cost to ride, and the race calendar.

Check email deliverability for a domain: MX, SPF, DKIM, DMARC, blacklists. Graded, no key.