Mu MCP server
News, web search, mail, markets, weather, places, files, calendar, contacts. 67 tools, one endpoint.
434 stars
Reviews
Write oneNobody has reviewed Mu yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Mu tools (156, 27 write)
write = sends, deletes, buys or postsapps_buildFreeQueue a durable app build and immediately return its ID and status URL. Use BuildStatus to retrieve progress and the completed app. Reuse request_key on retries. Builds survive server restarts
apps_buildstatusFreeRead your saved app build status by ID. Poll until complete or failed; the same ID survives restarts.
apps_createwrite actionFreeCreate an app — a small, self-contained HTML tool hosted here. Takes the HTML; apps_build writes it for you from a description Apps run in a sandbox. Use fetch('/api/v1/<service>/<method>') or mu.service(name, method, args); mu.api does not exist. Direct external fetch is blocked. Inspect real service schemas and data before coding; never invent fields, rankings or claim runtime verification from static checks.
apps_editFreeEdit an app you own — its name, description, tags, icon, HTML or price. Fields left out keep their value Apps run in a sandbox. Use fetch('/api/v1/<service>/<method>') or mu.service(name, method, args); mu.api does not exist. Direct external fetch is blocked. Inspect real service schemas and data before coding; never invent fields, rankings or claim runtime verification from static checks.
apps_embedFreeShow a saved micro app in the conversation. Embedding preserves access permissions and does not publish the app
apps_forkFreeFork an app into your own account, to change independently of the original
apps_readFreeRead an app or build status by slug, including source HTML for apps you own
apps_searchFreeFind your saved private micro apps by name, description or tag
apps_testFreeTest an app by checking its HTML and checking supported SDK calls; this is not browser execution, so an author finds out what is broken without opening it
archive_listFreeWith a kind, the most recent entries of it. Without one, what kinds are archived and how much of each
archive_searchFreeSearch 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 service would hold the answer; news_search is narrower and better when you know it is news
blog_createwrite actionFreePublish a post to the caller's blog. For anything meant to be read later by other people — notes, write-ups, announcements. For a private note to yourself, prefer files or memory
blog_deletewrite actionFreeDelete one of the caller's own blog posts, by id or title. Refuses posts written by anyone else, and refuses an ambiguous title rather than guessing. Irreversible, so confirm with the user first
blog_listFreeRead recent blog posts — titles, snippets and ids
blog_readFreeRead one blog post in full, by id or by title. Use after blog_list has found a candidate and the summary is not enough
blog_updatewrite actionFreeEdit one of the caller's own posts. Fields left out keep their current value
bookmarks_addFreeSave an article, video, blog post or link privately. Re-saving preserves its note
bookmarks_annotateFreeSet or clear a private note on one saved item
bookmarks_deletewrite actionFreeRemove one of your saved items
bookmarks_getFreeRead one saved item and its private note, with available archived text. Videos have descriptions, not transcripts
bookmarks_listFreeFind your saved reading by text or kind, newest first. Private notes are searched too
browser_readFreeOpen a page in a real browser and read it after its JavaScript has run. Use it when web_fetch comes back empty or with only a nav bar, which is what a page that builds itself in the browser looks like to a plain fetch. web_fetch is free and is the right first try; this costs, because it runs a browser
browser_shotFreePhotograph a page and get back a URL for the picture. What it looks like, rather than what it says — a chart, a layout, a page whose content is an image. Ask for full to capture past the first screenful
chat_messagesFreeRead the recent conversation in a discussion room
chat_roomsFreeList discussion rooms that currently have activity
chat_sendwrite actionFreeSay something in a discussion room, as the caller. Use chat_rooms to find the room id
chat_sourceFreeRead one stored message owned by the caller, by id
chat_sourcesFreeList stored message ids owned by the caller
contacts_addFreeSave someone to the address book. Adding a name already there updates it rather than making a second card
contacts_deletewrite actionFreeRemove someone from the address book
contacts_findFreeLook someone up in the address book by name, part of a name, or address. Use this before sending mail to a person named rather than addressed
contacts_listFreeList everyone in the caller's address book
docs_deletewrite actionFreeDelete one of your documents, by id
docs_listFreeList your documents, most recently changed first, with an optional search over titles and bodies. Use this to find an id
docs_readFreeRead one of your documents in full, by id or by exact title
docs_writewrite actionFreeWrite a document — a title and a markdown body. Pass an id to replace one you already have. Private unless you set public. For something long enough to re-read; for a short thing to remember, use notes
events_createwrite actionFreeSchedule a reminder or event at a given time; optionally repeating, and optionally running a prompt through the agent when it fires
events_deletewrite actionFreeCancel an event by id
events_freeFreeFind when the caller has nothing booked — open slots of a given length, within working hours
events_listFreeList the caller's upcoming events and reminders, each with its id
events_readFreeRead one schedule owned by the caller
events_updatewrite actionFreeUpdate one of your scheduled events without changing its id. Omitted fields stay unchanged; empty notes, prompts or recurrence clear them
files_deletewrite actionFreeDelete a file you own
files_drivereadFreeRead the caller's connected Google Drive. Read-only; connect in Account first.
files_drivesearchFreeSearch the caller's connected Google Drive. Read-only; connect in Account first.
files_getFreeRead a stored file back by its id
files_listFreeList the caller's stored files, newest first
files_putwrite actionFreeStore a file and get a URL for it — a report, a CSV, a transcript
files_shareFreeMake a file readable by anyone with its URL, or private again
flights_airportFreeReport what is happening at an airport right now: what is on the ground, what is on approach and what is climbing out. Live positions, not the timetable, so it says nothing about scheduled or delayed departures
flights_overheadFreeList the aircraft flying near a location right now, nearest first, with altitude, speed, heading and distance. Live positions broadcast by the aircraft themselves, not a schedule
flights_statusFreeScheduled, estimated and actual flight arrival/departure times from Aviationstack. Requires a configured provider.
flights_trackFreeFind where an aircraft is right now by flight number ('BA117'), radio callsign ('BAW117') or registration ('G-ZBKL'). Only sees aeroplanes that are airborne and in range of a receiver — not finding one does not mean the flight was cancelled
food_hygieneFreeFood hygiene ratings for UK businesses, from the Food Standards Agency inspections. Takes a business name, a town or postcode, or a lat/lon to look around
food_productFreeLook up a packaged food by its barcode — name, brand, ingredients, allergens, nutrition per 100g, Nutri-Score and how processed it is
food_searchFreeFind packaged foods by name or brand, with the barcode of each so one can then be looked up in full
hazards_alertsFreeCurrent disasters worldwide from GDACS — cyclones, floods, volcanoes, wildfires and earthquakes — with an alert level of green, orange or red. Pass lat/lon to ask about somewhere in particular
hazards_floodsFreeFlood warnings and alerts in force in England, most severe first, from the Environment Agency. The one hazard here that is a forecast rather than a record — a warning says flooding is expected, which is something you can act on. Optionally near a point. England only, and the answer says so
hazards_quakesFreeRecent earthquakes worldwide from the USGS, with magnitude, place and how long ago. Pass lat/lon to ask about somewhere in particular, min for a magnitude floor, and period for hour, day, week or month
images_dailyFreeRetrieve the current daily image or a date
images_deletewrite actionFreeDelete an image you own
images_generateFreeGenerate an image from a text prompt and return its URL
images_getFreeRetrieve accessible image metadata and URL
images_listFreeList stored images or the daily archive with pagination
images_searchFreeSearch accessible stored images by title, description, prompt and tags; public by default
images_shareFreeExplicitly publish or unpublish your image
images_updatewrite actionFreeEdit metadata on an image you own
images_uploadwrite actionFreeUpload a private raster image
islam_readFreeRead the full Islamic source passage from an islam_search result, with its source and reference. Preserve distinctions between original text, translation and commentary.
islam_searchFreeSearch Aslam.org's Quran, hadith, names of Allah, Seerah, Ghazali, IslamQA, adhkar and Riyad us-Salihin. Returns reference excerpts, not generated answers. Distinguish Quran and hadith from biography and scholarly interpretation; cite the source.
mail_gmailreadFreeRead the caller's connected Gmail. Read-only; connect in Account first.
mail_gmailsearchFreeSearch the caller's connected Gmail. Read-only; connect in Account first.
mail_inboxFreeList the account's most recent messages — read my mail, check my inbox
mail_infoFreeHow to reach the caller here: the handle, the email address if this instance has a mail domain, and whether mail from outside can arrive at all. Pass a tag for a separate one (you+tag) — give that out, then read only its messages with mail_inbox(tag)
mail_markreadFreeMark specified inbox message IDs, or explicitly all current inbox messages, as read. Changes read status only; does not read, summarize or triage the content.
mail_readFreeRead your correspondence by id in bounded body-character pages, including attachment names. Follow the returned next offset for the rest. Omitting id retains the legacy inbox summary
mail_searchFreeSearch the account's mail and return matching messages
mail_sendwrite actionFreeWrite to somebody, as you. A username reaches them on this instance and is free; a full email address leaves over SMTP under this instance's domain, so a reply comes back to your inbox, and is charged. Resolve a name with contacts_find first. Mail that leaves needs MAIL_DOMAIN configured on the instance
mail_sourceFreeRead one stored message owned by the caller, by id
mail_sourcesFreeList stored message ids owned by the caller
maps_areaFreeEvery tile covering a bounding box at a zoom level, as URLs, row by row from the north-west, and how many are already held. What to ask for when you want the map around a place rather than one numbered tile
maps_tileFreeThe URL for one map tile, by zoom, column and row. Styles: road, outdoor (rights of way and contours), light (a quiet basemap to draw on). Free. Britain only
markets_convertFreeConvert an amount from one currency to another — 250 GBP in JPY. Uses European Central Bank reference rates, and takes a past date back to 1999. Crypto converts at the live price through the dollar
markets_historyFreeRead daily closing prices for a supported instrument over a range of up to 366 days. Missing trading days are omitted. Uses Yahoo Finance
markets_listFreeGet live prices for cryptocurrencies, stocks, commodities (oil, gold, silver, copper and crops), futures and currencies
markets_quoteFreeRead one supported instrument price in USD, with source, timestamp and staleness
news_headlinesFreeRead the home card headlines: latest story per topic, freshest first, at most ten
news_listFreeRead recent news headlines with short summaries, balanced across topics
news_readFreeRead one news article in full by its id or URL
news_searchFreeSearch indexed and live news for a topic
notes_addwrite actionFreeWrite a note under a title, so it is there next conversation. Writing a title that exists rewrites that note
notes_deletewrite actionFreeDelete one note by title
notes_getFreeRead one note by title. Use it when you know the title; notes_list when you do not
notes_listFreeList every note the caller has written, with its text
notify_devicesFreeWhether this account can be reached by notification at all, and on which devices. Worth asking before promising to tell somebody something
notify_sendwrite actionFreeInterrupt yourself on your own devices — a phone, a laptop — with the page closed. For the thing that cannot wait until the next time somebody looks. An answer to a question belongs in the thread it was asked in, not here
places_addressFreeName the place at a latitude and longitude — the reverse of places_geocode. Use it whenever you have coordinates and need to say where that is
places_elevationFreeHow high a place is above sea level, in metres and feet. Sampled from a 90-metre global elevation model, so a summit reads a little under its surveyed height
places_geocodeFreeResolve a place name or address to coordinates
places_nearbyFreeList points of interest near a location. Each one says whether it is open right now where that is known, so "is anything open near me" is one call
places_searchFreeFind places by name or category, optionally near a location. Each one says whether it is open right now where that is known, rather than raw opening-hours text to interpret
prayer_qiblaFreeGet the qibla — the compass bearing to face for Islamic prayer from a location
prayer_reflectionFreeGet today's Islamic reflection — a verse of the Quran with its surah, a saying of the Prophet, and a name of Allah
prayer_sayingFreeLook up a hadith from Sahih al-Bukhari, optionally from a given book
prayer_searchFreeSearch the Quran, the hadith and the names of Allah by meaning — ask a question in plain language rather than naming a reference
prayer_timesFreeGet today's Islamic prayer times (salah) for a location, and which prayer is next
prayer_verseFreeLook up a chapter of the Quran, or one verse within it, by number. Use prayer_search to ask a question instead of naming a reference
recall_conversationFreeRead one whole conversation back by id, as recall_search and recall_list report it
recall_listFreeList the caller's conversations, most recently active first, with what each is about and where it happened
recall_searchFreeSearch everything the caller has said to an agent and been told, wherever they said it — the browser, email, or the command line. Use it when something was mentioned and you need to find where; notes_get is for a fact somebody wrote down on purpose
routes_directionsFreeThe turn-by-turn route between two places, with the distance for each instruction. Use ETA instead when only the travel time is wanted — this asks the provider for more and costs more
routes_etaFreeHow long it takes to travel between two places, by road rather than as the crow flies. Can be asked about a future departure, or told when you need to arrive and answer when to leave
routes_nearestFreeGiven a starting point and several destinations, say which is quickest to reach and put them in order. Each destination is a separate routing lookup, so ask about the places you are actually choosing between rather than a long list
shell_runwrite actionFreeRun a shell command in your account's container sandbox and get back what it wrote. A real shell in a container: pipes, redirection and && all work, the working directory is /work and files there persist between calls. Use it to build, test, run scripts and move files about. A non-zero exit code comes back in the response rather than as an error, so read the output — a failing build is an answer
shell_writewrite actionFreePut a file in your account's container sandbox, creating any missing directories. The only file operation that is not a shell command, because it is the one a shell is bad at: source is full of quotes and backticks and a heredoc will mangle it. The content arrives as a string and reaches the file without a shell seeing it. To read, list, search or change a file, use the shell — cat, ls, grep and sed are right there
sms_historyFreeRead the texts this account has sent and received, newest first. Both directions, which is why it is not called an inbox
sms_numberFreeThe number texts are sent from, which numbers are verified as yours, and how many messages are left today
sms_sendwrite actionFreeMessage somebody from this instance's number, by text or on WhatsApp. A text is charged per 160-character segment; WhatsApp is charged per 24-hour conversation and only reaches somebody who wrote in within the last day. Capped per day either way, and the recipient can stop it with STOP
sms_sourceFreeRead one stored message owned by the caller, by id
sms_sourcesFreeList stored message ids owned by the caller
sms_verifyFreeClaim a number as your own, so texts arriving from it reach this account. Call it with just the number to have a code texted there, then again with the code
social_listFreeRead the latest social posts from the network
social_searchFreeSearch public posts on this instance by keyword. This is the instance's own feed, not the wider internet — use web_search for that
stream_listFreeRead what has happened here recently
tasks_createwrite actionFreeAdd a task. Assign it to the agent and it can pick the task up itself
tasks_deletewrite actionFreeRemove a task
tasks_listFreeList the caller's tasks, open ones first; optionally filtered by state
tasks_nextFreeThe next task assigned to the agent — what to work on now
tasks_readFreeRead one task owned by the caller
tasks_updatewrite actionFreeChange a task: its state, or the result of doing it
text_classifyFreeSort text into one of the labels you give, with a confidence. For routing, triage and moderation. Capped at 30,000 characters
text_extractFreeTurn text into JSON matching a schema you give. Pass the fields you want as a JSON schema or a plain description; returns JSON only. Capped at 30,000 characters
text_summariseFreeSummarise text into a few sentences. Pass style=bullets for a list, or a sentence count. Capped at 30,000 characters
text_translateFreeTranslate text into another language, preserving formatting. Capped at 30,000 characters
transit_arrivalsFreeWhat is due at a stop and when. Takes a stop name or an id. In London this is live from TfL — buses, tube, DLR, Overground and Elizabeth line. Elsewhere it is the published timetable, and says so
transit_busesFreeWhere the buses actually are near a point right now — line, where each is heading and how far away, nearest first. England, from the Bus Open Data Service. This is position rather than prediction: it says what is moving, not when it reaches you
transit_feedsFreeWhich published timetables this instance carries, and which others it could — with the size of each, so an operator can see what switching one on costs. Also names the feeds that look right but whose timetables have run out
transit_nearbyFreeBus stops and stations near a point, nearest first, with the id each one is called by. London live from TfL; elsewhere from whichever published timetables this instance has loaded
transit_statusFreeWhich lines are delayed, part-suspended or closed right now, and why. London only
transit_trainsFreeThe live departure or arrival board at a British station, by its three-letter code — KGX, MAN, EDB. Scheduled and expected time, platform, operator and where it is going, plus any disruption notice. From National Rail
users_findFreeLook somebody up by username or display name. Use this to turn a name somebody mentioned into an address you can write to
users_getFreeOne user, by username
users_listFreeEveryone on this instance, online first and then newest. Agents are included and marked; an agent account is a user here like any other
video_listFreeRead the latest videos from curated channels
video_readFreeRead the metadata and description of one video already discovered by this instance. No transcript is available
video_searchFreeSearch YouTube by keyword using this instance's search quota. Results are not restricted to the curated channels
wallet_addressFreeYour own address on Base, to receive USDC. Created the first time you ask. Funds sent on any other chain land at the same address there and cannot be reached from here
wallet_balanceFreeWhat your wallet holds in USDC on Base. Says so plainly when the chain could not be reached, because that is not the same as holding nothing
weather_airFreeAir quality at a location right now — AQI, PM2.5, PM10, ozone, nitrogen dioxide, UV index, and pollen where it is counted
weather_forecastFreeGet the weather forecast for a location — current conditions, the days ahead, and today's sunrise, sunset and how much daylight is left, which is the fact that decides an afternoon outdoors
weather_historyFreeWhat the weather actually was at a location between two dates — average high and low, total rainfall and the extremes. Records run a few days behind today
weather_lookupFreeLook up the weather by town or city name
weather_marineFreeSea state at a coastal or offshore point — wave height, period and direction now and for the days ahead, with sea temperature
web_fetchFreeFetch a web page by URL and return its cleaned readable content, stripping ads, popups and navigation. Needs an account
web_imagesFreeSearch the web for images, thumbnails and original source pages
web_searchFreeSearch the web for current information and news
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 947ms20/20
- Tool poisoning156 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 27 write-action tools with no auth3/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year; website matches verified namespace10/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
What the publisher says
From the Mu repository's README, as published. We do not edit it. Read it on GitHub
Mu
The runtime for Micro, a personal assistant.
Overview
Ask on the web, send an email, or message it from your phone. Mu runs the assistant, its tools, and your saved conversations in one Go binary that you can host yourself. Try the hosted instance at micro.mu.
Features
The web starts with one input. Ask a question or give an instruction; the answer appears below it. The prompt moves up on the first request and stays there while you read and continue the conversation.
a web conversation and continue where you left off.
- Inbox keeps saved conversations and incoming messages together. Return to
controls.
- Account holds your profile, connections, client credentials, and billing.
- Admin, visible to administrators, holds users, settings, logs, and server
One shared stylesheet (/mu.css) and browser script (/mu.js) serve the pages. HTML is rendered in Go. There is no frontend build step. The site includes a manifest and service worker so it can be installed as a PWA.
Clients
Open Contact in the footer, or Account → Reach Micro, for the addresses and numbers configured on your instance. Add Micro to your phone's contacts from that page.
Email, SMS, WhatsApp, and XMPP require the corresponding server configuration. SMS and WhatsApp use Twilio; they are not enabled merely by installing Mu. Contact lists the configured ways to reach the assistant. Incoming mail must pass the sender checks; account identity comes from verified addresses and numbers, not from whatever a message claims.
Conversations from the different channels appear in one inbox, but are still separate threads. Switching from a web conversation to a fresh SMS does not automatically continue that exact thread. Replies retain their channel context. Forwarding mail to your own mailbox stores it; addressing an agent asks it to act. WhatsApp replies are subject to the provider's messaging window.
Agents
Micro is the default agent. Agents have instructions and a permitted set of tools. Services provide those tools: mail, files, calendar, search, weather, notes, shell, and more. You ask for an outcome; the agent chooses the tools.
Optional Google connections provide access to Gmail, Calendar, Contacts, and Drive with your consent. User-created agents can have different instructions and access; mail to you+research@your-domain addresses your Research agent.
Google reads use the signed-in account's connection and granted scope. Gmail searches default to the last 30 days unless an explicit date range is supplied. The assistant carries at most 24 recent messages within a 16,000-character history budget. Older conversations and saved notes are read through permitted tools when needed, rather than automatically added to every question. Disconnecting Google stops new reads; it does not erase answers already saved in your Inbox.
Work
An explicitly requested job can run in the background and return its result to the originating conversation. Execution lives under work; task records live in service/tasks. The personal daily brief remains available. Other unsolicited model-generated feeds are disabled.
Protocols
Account → Client access shows connection details and creates tokens with an explicit choice of Mail, Chat, or both.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add --transport http mu https://micro.mu/mcp
Mu: common questions
- Is Mu MCP server safe?
- Mostly: it is graded B (84/100). Read the Mu safety report
- How do I install Mu?
- It runs remotely at micro.mu. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Mu need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Mu maintained?
- The last commit was in the last day (2026-09-24). The latest release is v1.0.0.
- Is Mu up?
- 100% of our last 21 checks got an answer. We check remote servers about four times a day.
- What can I use instead of Mu?
- Servers from other publishers that do the same job: AIquila — Nextcloud MCP Server, iCloud MCP server and Apple Tools (Unified) MCP server. Compare all Mu alternatives.
Alternatives to Mu
Same job from other publishers: the closest match first, then the best rated.
- AIquila — Nextcloud MCP ServerNextcloud MCP server — files, calendar, contacts, mail, maps, notes, tasks & 120+ more toolsnot reviewedEstablishedC
- iCloud MCPApple Mail, Calendar, Contacts, Reminders, Notes, Messages and Safari via AppleScript or iCloudnot reviewedGrowingB
- Apple Tools (Unified)Unified Apple ecosystem MCP server for macOS: Mail, Calendar, Notes, Files, Messages, and more.not reviewedGrowingA
- ArgentDrive iOS Simulators, Android emulators, TVs and Electron/web apps from your coding agentnot reviewedWidely usedA
- Agent-Native CalendarAgent-Native Google Calendar - manage events, sync, and public bookingnot reviewedEstablishedA