mu
Mu is an MCP server and web app that provides agents and humans access to real-world services like news, web search, mail, markets, weather, video, places, images, files, calendar, and contacts. It offers a wide range of tools and can be self-hosted or used live at micro.mu.
README
mu
Tools for agents
Overview
Mu is an MCP server and web app for agents and humans. It provides access to the real world through MCP for the agents and let's humans browse or interact with same content in a web app. Access news, web search, mail, markets, weather, video, places, images, files, calendar, contacts and more.
Use it live at micro.mu, or self-host.
Usage
{
"mcpServers": {
"mu": {
"url": "https://micro.mu/mcp"
}
}
}
Create a Personal Access Token at
/token and send it as Authorization: Bearer.
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
That's what gets listed to your agent. Everything else is still callable.
Browse the tools: micro.mu/tools — every tool, grouped by service, with what each call costs.
See MCP docs for the protocol details.
The tools
Grouped the way /tools and the sidebar group them — one row per service, named for it.
| Area | Tools |
|---|---|
| Apps | apps_build · apps_create · apps_edit · apps_fork · apps_read · apps_run · apps_search · apps_test — build and run small web tools |
| Blog | blog_create · blog_read · blog_list · blog_update · blog_delete — publish, with AI-generated daily digests |
| Chat | chat — one question, one answer |
| Contacts | contacts_add · contacts_find · contacts_list · contacts_delete — turn a name into an address |
| Events | events_create · events_free · events_list — schedule, and find when you are free |
| Files | files_put · files_get · files_list · files_share · files_delete — keep a file, get a URL |
| Images | images_generate · images_search |
| Index | index_search — everything this instance holds for you |
| Islam | islam_today · islam_prayer · islam_qibla — daily reminder, prayer times, qibla |
mail_inbox · mail_send · mail_address — a real SMTP server with DKIM, and an address per agent |
|
| Markets | markets_list — stocks, crypto, futures, commodities, currencies |
| News | news_list · news_read · news_search — RSS aggregation, full articles |
| Places | places_search · places_nearby · places_eta — points of interest, geocoding, travel time |
| Search | web_search · web_fetch — search the web, read a page as clean text |
| Social | social_list · social_search — public threads and replies |
| Storage | db_create · db_get · db_list · db_delete — per-caller records (db_create with an id updates) |
| Stream | stream_list · stream_post — this instance's own timeline |
| Video | video_list · video_search — curated channels, no ads or recommendations |
| Wallet | wallet_balance — credits, and where to send USDC to top up |
| Weather | weather_forecast — conditions, forecast, pollen |
| Platform | agent — ask the whole thing a question and let it compose. Also quran · quran_search · hadith, save · unsave · saved_list, and flag · dismiss · block_user · unblock_user |
Request a tool
Open an issue and say what it should do.
The app
The server includes a web app with a home screen. Cards render each service at a glance (headlines, prices, weather, unread mail) and the agent sits inline to act on what you're looking at. Logged-out visitors get a public version with live data.
An LLM — Claude, Atlas Cloud (DeepSeek), or a local Ollama / OpenAI-compatible endpoint — calls the services as tools, composes answers, and keeps per-user memory across sessions.
Sign in with a username and password, a passkey (WebAuthn), or Google.
For the CLI, generate a Personal Access Token at /token.
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 agent "what is the btc price?" # run the full agent
mu weather_forecast --lat 51.5 --lon -0.12
mu wallet # your balance
mu help # full tool list
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
See CLI docs.
Discord & Telegram
Talk to the agent from Discord or Telegram — questions, markets, news, all from chat. Join the Discord
Discord: /agent, /news, /markets, /weather, /mail, /social, /blog,
/video, /search, /apps, /balance, /usage.
Telegram: /agent, /ask, /news, /markets, /weather, /usage.
Setup for both is in Installation.
Self-hosting
curl -fsSL https://raw.githubusercontent.com/micro/mu/main/install.sh | sh
# 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
First-run setup
Open http://localhost:8080 and Mu walks you through a one-time setup: create your admin account and pick an AI provider (Claude, Atlas Cloud, or a local Ollama / OpenAI-compatible endpoint). That's enough to have a working agent.
For terminal setup. Configure the provider headless, then start the server:
mu setup # pick a provider, paste a key
mu --serve # first account you create becomes admin
Or set everything by hand:
export ADMIN=you@example.com # who's admin (else: first account)
export ATLAS_API_KEY=xxx # or ANTHROPIC_API_KEY, or OPENAI_BASE_URL
mu --serve
Once you're admin, every other key (YouTube, Brave search, weather, mail/DKIM,
Google sign-in…) is configurable from /admin/env in the browser.
See Installation guide.
Configuration
Customise feeds, prompts and cards by editing 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
See Environment Variables for all options.
Documentation
Full docs in the docs folder. Start with MCP for agents, Architecture for the code. The live tool catalogue is at /tools.
License
AGPL-3.0 — use, modify, distribute. If you run a modified version as a service, share the source.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.