mu
OfficialProvides web search via the Brave Search API, enabling agents to search the web and fetch clean page text.
Allows interaction with the agent from Discord via commands like /agent, /news, /markets, /weather, and more.
Allows sign-in with Google OAuth, providing authentication for the web app.
Can use local Ollama models as the AI provider for the agent, enabling private and offline operation.
Can use OpenAI or any OpenAI-compatible endpoint as the AI provider for the agent.
Aggregates news from RSS feeds, providing tools to list, read, and search articles across configured feeds.
Allows interaction with the agent from Telegram via commands like /agent, /ask, /news, and more.
Supports passkey/WebAuthn authentication for passwordless sign-in.
Provides video search and listing from curated YouTube channels, without ads or recommendations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@muwhat's the weather in San Francisco?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mu
A home for agents, tools and services
Overview
We're building services that operate as the building blocks for agents. Mail, chat, news, video, search, etc. Then we archive any data locally so it's all searchable. Services and the archive become tools for agents to use.
Using agents has also been a very synchronous experience but also fragmented. Communication here is async with everything going to one inbox, whether it's email, chat or sms, etc. Use it from the web, your phone, the command line, email, anywhere. Plugin IMAP for your own clients.
Related MCP server: mcp-toolkit
Features
What's included
Services - 30+ real world services including news, mail, markets, video, etc accessible via API, CLI or the Web
Agents - Define an agent by name, prompt and give it specific tools to use, then chat with it on the web, mail or xmpp
Inbox - A single place to keep track of threads across mail, chat, etc. Use it on the web or via IMAP in an email client.
Services
The services available via the web, API or as tools, reachable via MCP, and as cli command
Service | Tools |
Apps |
|
Archive |
|
Blog |
|
Browser |
|
Chat |
|
Contacts |
|
Docs |
|
Events |
|
Files |
|
Flights |
|
Food |
|
Hazards |
|
Images |
|
| |
Maps |
|
Markets |
|
News |
|
Notes |
|
Notify |
|
Places |
|
Prayer |
|
Recall |
|
Routes |
|
Shell |
|
SMS |
|
Social |
|
Stream |
|
Tasks |
|
Text |
|
Transit |
|
Users |
|
Video |
|
Wallet |
|
Weather |
|
Web |
|
Open an issue to request a tool.
Agents
An agent is a name, a prompt, and which of the services above it may reach. No code and no deployment — the services are the same ones in the table, so defining an agent is choosing a subset and saying what it is for.
Two come built in:
Micro — general. Every service, for the questions that cross several of them: what happened today, what is moving, what is in my mail.
Code — specific. A machine of its own and somewhere to put what it makes:
shellandappsonly. Describe an app and it writes it, runs it and hosts it.
Make your own at /agents: a name, a standing instruction, and the services it
is allowed. Leaving the services empty gives it everything you can reach, which
is a choice rather than the default.
Then talk to it wherever you already are:
mu ask "what is in my inbox?" # the default agent
mu ask --agent research "anything new this week?"On the web it is /agent/<name>. By mail, write to you+name@ and that agent
answers in the thread. Each keeps its own notes, so what it learns about your
projects does not end up in the pool another agent answers from.
Agents run on the instance, using its model, so nothing needs a key of your
own. mu agent is the other direction — see CLI.
Inbox
One place for what arrived, whichever channel carried it — mail, chat, sms, and the conversations you have had with your agents. It is a view over the record every client writes to, so a question you asked from the terminal this morning sits next to an email that came in overnight, in the same list.
It is not a second mailbox. service/mail is the mail server; /inbox is
where things turn up. Reply to a thread and the agent answers in it.
Connect a normal mail client over IMAP and read the same threads from your phone.
Use the Tools
If you want to use the tools with an existing 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,mailSee micro.mu/tools for all the tools.
Install
Quick install guide for self hosting (let us know if it's broken).
curl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh
mu --serveOpen http://localhost:8080. The first account you create is the admin.
Quite a few things need API keys, but here's some must haves.
For | Set | Notes |
AI models |
| free if you run Ollama locally |
Web search |
| Brave has a free tier |
Video |
| free quota |
Follow setup in CLI
mu setup # pick an AI provider, paste a key
mu --serveEverything else — mail, Google sign-in, Stripe for payments, etc — is optional.
The binary is a client, and by default it calls https://micro.mu — the instance this project runs live. Running your own? Point it there:
mu login https://your.host # saves the address and a token
mu config get # says which instance is in use, and whyWithout that, mu news list on the machine you just installed calls the
hosted instance rather than the one you are running. MU_URL and --url
override per shell and per command.
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 --serveSee the installation guide.
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 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 listEvery 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 environmentRun mu --help for the list — it reads the same catalogue the agent does.
These are tool calls: one command, one tool, no model involved and nothing to pay for unless the tool itself costs.
To talk to your agent instead, mu ask — it runs on the instance, so it needs
your token and no model key of your own:
mu ask "what is in my inbox?"
mu ask --agent research "anything new this week?"mu agent is the other direction and easy to reach for by mistake: it runs the
agent here, on your machine, with your own model key, renting tools from an
instance over x402 and paying per call. Same word in English, opposite ways
round.
API
Every tool is also an HTTP endpoint, at /api/v1/<service>/<method>. The same
catalogue the CLI and the agent read, so a tool added to the server is an
endpoint without anybody writing a route.
curl https://micro.mu/api/v1/ # the catalogue
curl "https://micro.mu/api/v1/news/list?limit=5" # arguments in the query
curl -X POST https://micro.mu/api/v1/news/list \
-H 'Content-Type: application/json' -d '{"limit":5}'GET and POST mean the same thing and both work, because a REST API where reads are GETs is what every client library expects. What is not offered is a GET that changes something: a method the catalogue marks as writing needs a POST, so a link, a prefetch or a crawler cannot fire one.
Authenticate with a token from /token as Authorization: Bearer, or with an
OAuth client. A priced endpoint answers 402 without one, which an x402 client
pays per call with no account at all.
MCP clients connect at /mcp — same tools, same auth, same prices. The
reference is at /api, and each service has its own page at /services/<name>.
Web
The same instance is a web app, and every page on it is a service answering.
/home— what arrived, who is working on it, and what this instance knows right now, with a box at the top to ask./inbox— the threads, whichever channel carried them./agents— your roster, and where you make a new one./services— the catalogue, and a page for each:/news,/weather,/markets, and the rest.
The service pages are not a separate product built over the API. They make the same calls an agent makes and render the result, which is why anything you can ask for you can also go and look at.
Configuration
What a call costs is data, not code: quota.json at the top of the repo is the
one price list, and everything that charges or displays a price reads it. Drop a
quota.json into the data directory to override any entry without rebuilding.
Some files are embedded in the binary, so editing means rebuilding:
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
See Install for every setting the code reads.
The rest lives in /admin/config on the server.
License
AGPL 3.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server giving AI agents real-time web search, page scraping, company intelligence, email discovery, local lead generation, and a persistent knowledge graph. Pay only for what you use, no subscriptions.22MIT
- AlicenseAqualityDmaintenanceA general-purpose MCP server providing web search, persistent memory storage, and secure code execution capabilities. It enables AI agents to search the web, store and retrieve data, and run Python/JavaScript code in sandboxed environments.8MIT
- AlicenseNot gradedqualityFmaintenanceMCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.43MIT
- FlicenseAqualityBmaintenanceA production-grade MCP server that provides a centralized microservice toolkit for LLM agents, enabling web search and extensible tool integration.1
Related MCP Connectors
Pocket Agent (aipocketagent.com) MCP server — read tools for personas, apps, and product info.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/micro/mu'
If you have feedback or need assistance with the MCP directory API, please join our Discord server