Mu is an MCP server with 148 tools an agent can call, among them apps_build, apps_buildstatus, apps_create. It answers at https://micro.mu/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 12 September 2026; the last check, on 24 October 2026, succeeded.
News, web search, mail, markets, weather, places, files, calendar, contacts. 67 tools, one endpoint.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
apps_build | Queue 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 Inputs: prompt, request_key |
apps_buildstatus | Read your saved app build status by ID. Poll until complete or failed; the same ID survives restarts. Inputs: id |
apps_create | Create an app — a small, self-contained HTML tool hosted here. Takes the HTML; apps_build writes it for you from a description Inputs: description, html, icon, name, price, private |
apps_edit | Edit an app you own — its name, description, tags, icon, HTML or price. Fields left out keep their value Inputs: description, html, icon, name, price, slug |
apps_embed | Get the HTML that puts an app on another page — an iframe tag pointing at the app, which runs there sandboxed the same way it runs here. Apps that charge cannot be embedded, and an app that calls mu. only reaches this instance from a page o Inputs: slug |
apps_fork | Fork an app into your own account, to change independently of the original Inputs: new_slug, slug |
apps_read | Read the details of one app by its slug Inputs: slug |
apps_search | Search the apps directory for small, useful tools, by name, description or tag Inputs: query, tag |
apps_test | Test an app by checking its HTML and running its mu.api calls server-side, so an author finds out what is broken without opening it Inputs: slug |
archive_list | With a kind, the most recent entries of it. Without one, what kinds are archived and how much of each Inputs: kind, limit |
archive_search | Search 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 y Inputs: kind, limit, query |
blog_create | Publish 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 Inputs: content, private, tags, title |
blog_delete | Delete 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 Inputs: id, title |
blog_list | Read recent blog posts — titles, snippets and ids Inputs: limit |
blog_read | Read one blog post in full, by id or by title. Use after blog_list has found a candidate and the summary is not enough Inputs: id, title |
blog_update | Edit one of the caller's own posts. Fields left out keep their current value Inputs: content, id, tags, title |
bookmarks_add | Save an article, video, blog post or link privately. Re-saving preserves its note Inputs: note, ref, title, url |
bookmarks_annotate | Set or clear a private note on one saved item Inputs: id, note |
bookmarks_delete | Remove one of your saved items Inputs: id |
bookmarks_get | Read one saved item and its private note, with available archived text. Videos have descriptions, not transcripts Inputs: id |
bookmarks_list | Find your saved reading by text or kind, newest first. Private notes are searched too Inputs: kind, limit, offset, query |
browser_read | Open 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 Inputs: url, wait |
browser_shot | Photograph 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 Inputs: full, url, wait |
chat_messages | Read the recent conversation in a discussion room Inputs: room |
chat_rooms | List discussion rooms that currently have activity Inputs: limit |
chat_send | Say something in a discussion room, as the caller. Use chat_rooms to find the room id Inputs: message, room |
contacts_add | Save someone to the address book. Adding a name already there updates it rather than making a second card Inputs: email, name, note, phone |
contacts_delete | Remove someone from the address book Inputs: id |
contacts_find | Look 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 Inputs: query |
contacts_list | List everyone in the caller's address book |
docs_delete | Delete one of your documents, by id Inputs: id |
docs_list | List your documents, most recently changed first, with an optional search over titles and bodies. Use this to find an id Inputs: limit, query |
docs_read | Read one of your documents in full, by id or by exact title Inputs: id, title |
docs_write | Write 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 Inputs: content, id, public, title |
events_create | Schedule a reminder or event at a given time; optionally repeating, and optionally running a prompt through the agent when it fires Inputs: minutes, note, prompt, repeat, title, when |
events_delete | Cancel an event by id Inputs: id |
events_free | Find when the caller has nothing booked — open slots of a given length, within working hours Inputs: day_end, day_start, from, minutes, to |
events_list | List the caller's upcoming events and reminders, each with its id Inputs: limit, offset |
events_update | Update one of your scheduled events without changing its id. Omitted fields stay unchanged; empty notes, prompts or recurrence clear them Inputs: id, minutes, note, prompt, repeat, title |
files_delete | Delete a file you own Inputs: id |
files_driveread, files_drivesearch, files_get, files_list, files_put, files_share, flights_airport, flights_overhead, flights_status, flights_track, food_hygiene, food_product, food_search, hazards_alerts, hazards_floods, hazards_quakes, images_daily, images_delete, images_generate, images_get, images_list, images_search, images_share, images_update, images_upload, islam_read, islam_search, mail_gmailread, mail_gmailsearch, mail_inbox, mail_info, mail_markread, mail_read, mail_search, mail_send, maps_area, maps_tile, markets_convert, markets_history, markets_list, markets_quote, news_headlines, news_list, news_read, news_search, notes_add, notes_delete, notes_get, notes_list, notify_devices, notify_send, places_address, places_elevation, places_geocode, places_nearby, places_search, prayer_qibla, prayer_reflection, prayer_saying, prayer_search, prayer_times, prayer_verse, recall_conversation, recall_list, recall_search, routes_directions, routes_eta, routes_nearest, shell_run, shell_write, sms_history, sms_number, sms_send, sms_verify, social_list, social_search, stream_list, tasks_create, tasks_delete, tasks_list, tasks_next, tasks_update, text_classify, text_extract, text_summarise, text_translate, transit_arrivals, transit_buses, transit_feeds, transit_nearby, transit_status, transit_trains, users_find, users_get, users_list, video_list, video_read, video_search, wallet_address, wallet_balance, weather_air, weather_forecast, weather_history, weather_lookup, weather_marine, web_fetch, web_images, web_search
Every block below points at https://micro.mu/mcp. Pick your client and copy.
claude mcp add --transport http mu https://micro.mu/mcp
{
"mcpServers": {
"mu": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://micro.mu/mcp"]
}
}
}{
"mcpServers": {
"mu": {
"url": "https://micro.mu/mcp"
}
}
}{
"servers": {
"mu": {
"type": "http",
"url": "https://micro.mu/mcp"
}
}
}{
"context_servers": {
"mu": {
"url": "https://micro.mu/mcp"
}
}
}{
"mcpServers": {
"mu": {
"serverUrl": "https://micro.mu/mcp"
}
}
}{
"mcpServers": {
"mu": {
"url": "https://micro.mu/mcp"
}
}
}name: Mu
version: 0.0.1
schema: v1
mcpServers:
- name: Mu
type: streamable-http
url: https://micro.mu/mcp{
"mcpServers": {
"mu": {
"httpUrl": "https://micro.mu/mcp"
}
}
}{
"mcpServers": {
"mu": {
"type": "http",
"url": "https://micro.mu/mcp"
}
}
}{
"mcpServers": {
"mu": {
"url": "https://micro.mu/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmicro.mu%2Fmcp&type=streamable_http&id=mu&name=Mu
It answered our last check on 24 October 2026 in 284 ms. Over 6 checks since 12 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by micro.mu and served from micro.mu, the vendor's own domain: https://micro.mu/mcp.
148, as returned by the server's own tools/list on 22 September 2026: apps_build, apps_buildstatus, apps_create, apps_edit, apps_embed, apps_fork, apps_read, apps_search, and 140 more.
It answered our last check on 24 October 2026 in 284 ms. Over 6 checks since 12 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://micro.mu/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: mu.micro. Endpoint host: micro.mu. ARD identifier: urn:air:mu.micro:mcp:mu.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.