Web開発
Show HN: Mu – エージェントのためのツール
Show HN: Mu – Tools for Agents (github.com)
要約
Muは、エージェントが日常的なインターネットリソース(ニュース、ウェブ検索、メール、市場、天気、動画、場所、画像、ファイル、カレンダー、連絡先など)をツールとして利用できるようにするプラットフォームです。67種類のツールが単一のエンドポイントで提供され、個別にサーバーを構築する必要がありません。MuはAPIのラッパーではなく、メールサーバーや検索インデックスなどを自身で実行します。オープンソース(AGPL-3.0)で、ホスト版(micro.mu)または単一のGoバイナリでのセルフホストが可能です。
全文翻訳
Mu エージェントのためのツール
概要
Muは、エージェントに日常的なインターネットをツールとして提供します:ニュース、ウェブ検索、メール、市場、天気、動画、場所、画像、ファイル、カレンダー、連絡先。67種類が単一のMCPエンドポイントの背後にあります。一度接続すれば、エージェントはそれぞれのサーバーを配線する代わりに、それらすべてを利用できます。ラッパーではなく、本物のツールです。
エージェントにツールを提供しているほとんどのものは、他人のAPIの薄い層です。Muはメールサーバー(SMTP with DKIM)、フィードアグリゲーター、検索インデックス、アプリサンドボックス、ウォレットを実行し、それらをあなたに提供します。mail_inboxは実際の受信トレイを読み取ります。db_createは実際のストレージに書き込みます。ツールは他人の製品のカタログではなく、このインスタンス自身の能力を公開したものです。オペレーターも人間であるため、同じツールを提供するWebアプリもあります。
micro.muでホストされたものを使用するか、単一のGoバイナリをセルフホストしてください。どちらでも同じ製品です。オープンソース、AGPL-3.0。
エージェントをそれに向けます
{
"mcpServers": {
"mu": {
"url": "https://micro.mu/mcp"
}
}
}
これがセットアップ全体です。その設定にキーはありません。貼り付けるものがないからです。最初の呼び出しで、認証サーバーへの401応答が得られ、クライアントがサインインを案内し、トークンを自身で保持します。これはMCP認証仕様です。Claude DesktopとCursorの両方がこれに対応しています。そうでないクライアントの場合、/tokenでパーソナルアクセストークンを作成し、Authorization: Bearerとして送信します。
curl -X POST https://micro.mu/mcp -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
このインスタンス自身のコンテンツの読み取りも含まれます。実行に費用がかかる呼び出し(モデル呼び出し、有料のサードパーティ)は、あなたの残高からクレジットを引き落とします。
利用可能なものをブラウズ:micro.mu/tools — すべてのツールがサービスごとにグループ化されており、各呼び出しのコストが記載されています。MCPドキュメントでプロトコルの詳細を確認してください。
ツール
エリア
ツール
Web
web_search · web_fetch — ウェブを検索し、ページをきれいなテキストとして読み取る
ニュース
news_list · news_read · news_search — RSS集約、フル記事
市場
markets_list — 暗号通貨、先物、コモディティ、通貨
天気
weather_forecast — 気象条件、予報、花粉
場所
places_search · places_nearby · places_eta —POI、ジオコーディング、所要時間
動画
video_list · video_search — キュレーションされたチャンネル、広告や推奨なし
メール
mail_inbox · mail_send · mail_address — DKIM付きの実際のSMTPサーバーと、エージェントごとのアドレス
ストレージ
db_create · db_get · db_list · db_update · db_delete — 呼び出し元ごとのレコード
ファイル
files_put · files_get · files_list · files_share — ファイルを保持し、URLを取得する
カレンダー
events_create · events_free · events_list — スケジュール設定、空き時間の検索
連絡先
contacts_find · contacts_add · contacts_list — 名前をアドレスに変換する
検索
index_search — このインスタンスが保持するすべてのもの
画像
images_generate · images_search
執筆
blog_* · social_* · stream_* — 公開、読み取り、議論
アプリ
apps_build · apps_run · apps_edit — 小さなWebツールを構築および実行する
信仰
islam_today · islam_prayer · islam_qibla · quran · hadith
お金
wallet_balance — クレジット、およびUSDCを送金する場所
エージェント
agent · chat — 全体に質問し、回答を構成させる
すべてのツールはmu CLIのサブコマンドでもあります。
アカウントスコープのツール(メール、ストレージ、インデックス、画像、イベント、ファイル、連絡先)は、サインインした呼び出し元が必要です。mail_sendは常に必要なので、アカウントを持たない呼び出し元はドメインの評判を消費できません。
ツールの仕組み
上記の各エリアはサービスです — 型付けされたハンドラを持つGoパッケージで、Go Microレジストリの背後でインプロセスで登録されています。単一のバイナリ、外部インフラストラクチャなし。レジストリは単一の真実の情報源です:サービスは一度宣言され、すべてのサーフェスはその宣言から派生します。
var Spec = service.Spec{
Name: "web",
Handler: new(Server),
Description: "The open web: search it, read a page from it",
Page: "/search",
Endpoints: map[string]service.Endpoint{
"Search": {Doc: "Search the web for current information", Cost: wallet.OpWebSearch},
"Fetch": {Doc: "Fetch a web page and return readable content", Cost: wallet.OpWebFetch},
},
}
これを登録すると、追加の配線なしで、同じ瞬間に以下に利用可能になります。
MCP経由のエージェント(Claude Desktop、Cursor、または独自のクライアント用);
組み込みエージェント(呼び出し可能なツールとして);
カスタムエージェント(/agent/newのツールピッカーで);
CLI(各ツールはサブコマンド);
SDK内のmu.service(name, method, args)を介したアプリ。
したがって、Muを拡張することは、要素を追加することであり、N個の統合を配線することではありません。
// アプリ内 — 任意の登録済みサービス、SDKの変更は不要
const { times } = await mu.service('islam', 'prayer', { lat, lon, tz })
const { summary } = await mu.service('weather', 'forecast', { lat, lon })
IDはサーバー側で呼び出しコンテキストからバインドされます — 呼び出し元はどのデータの要求かを指定せず、要求にアカウントフィールドはありません。
アプリ
同じツールが、人向けにも提供されます。カードは各サービスを一目で表示し(ヘッドライン、価格、天気、未読メール)、エージェントはインラインで表示されているものに基づいてアクションを実行します。ログアウトした訪問者には、ライブデータを含む公開バージョンが表示されます。
LLM(Claude、Atlas Cloud(DeepSeek)、またはローカルのOllama / OpenAI互換エンドポイント)は、サービスをツールとして呼び出し、回答を構成し、セッション間でユーザーごとのメモリを保持します。
ユーザー名とパスワード、パスキー(WebAuthn)、またはGoogleでサインインします。CLIの場合、/tokenでパーソナルアクセストークンを生成します。
CLI
すべてのツールはmuサブコマンドです。同じバイナリがサーバー(mu --serve)とCLIを実行します。
mu news_list # 最新ヘッドライン
mu news_search "ai safety" # ニュース検索
mu web_search "claude code" # ウェブ検索
mu agent "what is the btc price?" # フルエージェント実行
mu weather_forecast --lat 51.5 --lon -0.12
mu wallet # 残高
mu help # 全ツールリスト
CLIはレジストリ駆動です — サーバーに追加されたツールは自動的にCLIコマンドになります。
mu login # ブラウザで/tokenを開き、PATを貼り付けます
mu config set token xxx # または直接設定します
export MU_TOKEN=xxx # または環境変数を使用します
CLIドキュメントを参照してください。
Discord & Telegram
DiscordまたはTelegramからエージェントと会話できます — チャットからニュース、市場、その他すべて。
Discordに参加する
Discord: /agent, /news, /markets, /weather, /mail, /social, /blog, /video, /search, /apps, /balance, /usage。
Telegram: /agent, /ask, /news, /markets, /weather, /usage。
両方のセットアップはインストールにあります。
セルフホスティング
独自のインスタンスを実行すると、あなたがオペレーターになります:ツールはあなたのものになり、それらを呼び出すために支払う人はあなたに支払います。
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 # ソースから
git clone https://github.com/micro/mu cd mu && go install mu --serve
初回セットアップ
http://localhost:8080 を開くと、Muが一度限りのセットアップを案内します:管理者アカウントを作成し、AIプロバイダー(Claude、Atlas Cloud、またはローカルOllama / OpenAI互換エンドポイント)を選択します。これで動作するエージェントが利用できます。
ターミナルを好む場合:プロバイダーをヘッドレスで設定し、サーバーを起動します。
mu setup # プロバイダーを選択し、キーを貼り付けます
mu --serve # 最初に作成したアカウントが管理者になります
またはすべて手動で設定します。
export ADMIN=you@example.com # 管理者(それ以外:最初のアカウント)
export ATLAS_API_KEY=xxx # またはANTHROPIC_API_KEY、またはOPENAI_BASE_URL
mu --serve
管理者の権限が付与されたら、他のすべてのキー(YouTube、Brave検索、天気、メール/DKIM、Googleサインインなど)はブラウザの/admin/envから設定できます。インストールガイドを参照してください。
設定
JSONファイルを編集して、フィード、プロンプト、カードをカスタマイズします。
service/news/feeds.json — RSSニュースフィード
service/chat/prompts.json — チャットトピック
home/cards.json — ホーム画面カード
service/video/channels.json — YouTubeチャンネル
service/places/locations.json — 保存された場所
すべてのオプションについては、環境変数(Environment Variables)を参照してください。
ドキュメント
ドキュメントフォルダに完全なドキュメントがあります。エージェントの場合はMCPから始め、コードの場合はアーキテクチャから始めてください。ライブツールカタログは/toolsにあります。
ライセンス
AGPL-3.0 — 使用、変更、配布。変更したバージョンをサービスとして実行する場合は、ソースを共有してください。