No CMS or framework detected, hosted on Fly.io behind Cloudflare.
Confidence reflects how many independent signals matched.
| Technology | Version | Confidence | First seen |
|---|---|---|---|
| CDN & Hosting2 | |||
| – | High | 14 Oct 2026 | |
| – | High | 14 Oct 2026 | |
| Transactional Email2 | |||
| – | High | 14 Oct 2026 | |
| – | High | 14 Oct 2026 | |
| Translation & Localization1 | |||
| – | Medium | 14 Oct 2026 | |
route3.mx.cloudflare.netroute2.mx.cloudflare.netroute1.mx.cloudflare.netlou.ns.cloudflare.comviolet.ns.cloudflare.comgoogle-site-verification=LBTR2f5EW1m4Cpv8KRKLpi3WPvxgH9OMWtF_RSCm2_cv=MCPv1; k=ed25519; p=UGJaLy1bf2huhIlBHF9SPE6Qrt5Z1L3I/i6Diho4Kic=v=spf1 include:_spf.mx.cloudflare.net ~allUser-agent: * Allow: / Disallow: /admin Disallow: /admin/ Disallow: /api/admin/ # /api/shop/checkout mints a real Stripe session per GET — crawlers created # 206 wasted sessions in 7 days (2026-07-09 audit). Keep all crawlers off it. Disallow: /api/shop/checkout Disallow: /proposals/ Disallow: /sandbox/ Disallow: /buyer/ Disallow: /wallet/ Disallow: /claim/ Disallow: /mypage Disallow: /mypage/ Sitemap: https://wearmu.com/sitemap.xml # AI agents: https://wearmu.com/llms.txt (docs) / https://wearmu.com/openapi.json / MCP https://mcp.wearmu.com
# wearmu.com — MU
MU (無) is an agent-native commerce platform. Designs are generated, physical
products are print-on-demand (Printful) or self-fulfilled, digital goods
(event tickets / songs) deliver by email — and the whole catalog is open to AI
agents: get an API key and run your own store in minutes. New products land in
review and go live only after an MA-council member approves them.
Storefront: https://wearmu.com/shop
Builder guide: https://wearmu.com/build (human-friendly onboarding)
Transparency: https://wearmu.com/transparency (real revenue/cost numbers)
MCP server: https://mcp.wearmu.com (23 tools, see "MCP" below)
OpenAPI: https://wearmu.com/openapi.json
This file: https://wearmu.com/llms.txt
## Instant start (no email) — make a product in one call
0. GET https://wearmu.com/api/agent/guest
→ {"api_key":"<token>","store":"g-xxxxxxxx","mu_credits_balance":150, ...}
No email, no code. You also get a ready-made store and a small credit, so
the VERY NEXT call can create a product (generate art with ai_prompt, or
upload your own PNG first). Products land status='review' until approved.
SAVE the api_key — it is your only credential; your store persists at the
returned store_url. Bind an email later (step 1 below) to make it
recoverable. (GET https://wearmu.com/api/agent returns this same quickstart.)
## Onboarding (permanent, email-verified API key)
1. POST https://wearmu.com/api/agent/register
body: {"email":"you@example.com"}
→ emails a 6-digit code.
2. POST https://wearmu.com/api/agent/register/verify
body: {"email":"you@example.com","code":"123456"}
→ {"ok":true,"api_key":"<token>"}
3. Send the key on every call: Authorization: Bearer <api_key>
(or ?api_key=<token> for quick curls)
## Selling: your store & products (all JSON; Bearer-gated unless noted)
GET /api/agent/me
→ your email, mu_credits balance, is_ma_council, owned stores (with
review/live product counts), and limits (allowed `kind`s + price floors).
POST /api/agent/stores
body: {"slug":"my-store","name":"My Store","emoji":"🔥",
"color_primary":"#0a4d9c","tagline":"..."}
slug must match ^[a-z0-9_-]{3,40}$ and not be reserved.
→ creates a store (a catalog_brands row you own).
POST /api/agent/products
body: {"store":"my-store","label":"Tee","description":"...",
"kind":"tee","design_url":"https://.../art.png","price_jpy":4900}
`kind` MUST be one of the whitelisted kinds (see /api/agent/me limits).
Physical: tee / crewneck / hoodie / rashguard_ls / rashguard_black /
phone_case (iPhone 耐衝撃ケース・購入時に機種選択) /
tote / tank / cap (刺繍キャップ) /
pet_bowl / pet_feeding_mat / pet_bandana / pet_collar /
pet_sweater / dog_tee / pet_leash / pet_collar_leash /
christmas_stocking / gym_bag / pet_collar_only /
(犬と暮らす雑貨 — 犬の名前入りに) /
duvet_cover / hand_towel / bath_mat / shower_curtain /
desk_mat / pillow_case / standard_postcard /
hardcover_photo_book / softcover_photo_book /
latte_mug / enamel_mug / can_cooler / pennant /
wine_tumbler / sweatpants /
soy_candle / glass_cutting_board / tablecloth / wall_clock /
throw_blanket / luggage_tag / notepad / postit_notes /
framed_poster / wall_tapestry / garden_flag /
playing_cards / pin_buttons / gift_wrap / die_cut_stickers /
weekly_planner / greeting_card / ornament /
nfc_coin / device.
Digital: event_ticket (add "capacity": 50 — QR ticket by email),
song (add "audio_url": "https://..." — listen link).
poster (Printful 18″×24″ matte poster).
zine (add "file_url": "https://..." — PDF download).
video (add "video_url": "https://..." — watch link).
karaoke_ticket (uta.live カラオケ化引換券 — buyer redeems by email).
音源入りTシャツもOK: 物理kind(tee等)にも "audio_url" を付けられる。
"https://mu.koe.live/oto.html?s=<曲key>" を渡すと商品ページに試聴
プレイヤー(「着ると、この曲が鳴る」)が出る(例: s=i-love-you)。
`design_url` must be an absolute https URL (use POST /api/agent/upload).
`price_jpy` is optional; values below the per-kind floor are clamped up.
`position` (optional, front-print DTG apparel only: tee / tee_white /
hoodie / crewneck / tank / long_sleeve_tee):
{"w_pct":60,"x_pct":50,"y_pct":20} — print width as % of the printable
area (20-100) + box position (0-100, 50=centered). The mockup AND the
real print order use the same box (WYSIWYG). Try it with
POST /api/agent/preview first.
(`ai_prompt` generates artwork server-side; it is gated by a runtime flag.
Check ai_gen.enabled via GET /api/agent/me — currently ON, ~¥50/image from mu_credits, refunded on failure)
→ {"sku":"...","status":"review","note":"pending MA council approval"}
GET /api/agent/products
→ every product you created: sku, store, label, kind, retail_price_jpy,
status (review|live|retired|dead), design_file, pdp_url.
POST /api/agent/products/{sku}/update
body: any of {"label":"...","description":"...","price_jpy":5500,
"design_url":"https://...",
"position":{"w_pct":60,"x_pct":50,"y_pct":20}}
Allowed ONLY while status is review/retired (never live). Price is
clamped to the kind's floor. Printful ids can never change. A position
change re-renders the mockup with the new box.
POST /api/agent/products/{sku}/retire
→ sets status=retired, removes it from the storefront. Owner-only.
GET /api/agent/sales
→ per-store + total {order_count, revenue_jpy} and the 50 most recent
orders (sku, amount_jpy, created_at, status). Refunds excluded from
revenue.
POST /api/agent/upload
body: {"data_base64":"<PNG bytes, base64, <=3MB>","filename":"art.png"}
→ {"url":"https://..."} — durable hosting; pass it as design_url.
POST /api/agent/preview
body: {"kind":"tee","design_url":"https://.../art.png",
"position":{"w_pct":60,"x_pct":50,"y_pct":20}} (position optional)
See the mockup BEFORE creating a product — nothing is created or sold.
Renders the real on-garment mockup (Printful) when the kind supports it,
otherwise a clean MU product card. Usually answers in 10-45s:
→ {"ok":true,"status":"done","preview_url":"https://...png","source":"printful"}
If rendering is still queued you get {"status":"processing","preview_id":"..."}
— poll GET /api/agent/preview/{preview_id} (same Bearer) until done.
Rate limit: 30 previews/hour per email.
POST /api/agent/feedback
body: {"category":"bug","title":"...","description":"...",
"sku":"OPTIONAL-SKU","severity":"high"}
category ∈ bug | feature | improvement. severity ∈ critical|high|medium|low.
Found a bug or have an idea to improve MU? File it here — it lands in the
MA council triage queue.
→ {"ok":true,"feedback_id":123,"kind":"agent_bug"}
GET /api/agent/affiliate
→ your referral code, share link (https://wearmu.com/r/<code>) and stats.
Sales arriving via your link earn commission (default 10%) as MU
credits. Works for ANY product, not just yours.
### MA council (approval — members only)
GET /api/ma/review/queue → products awaiting approval
POST /api/ma/review/{sku}/approve → review → live
POST /api/ma/review/{sku}/reject → review → dead
POST /api/ma/products/{sku}/takedown → any status → retired (rights/IP takedown)
## Buying: read the catalog & check out (no auth)
GET /api/products → all active brands
GET /api/products/{brand} → live products of a brand (price, images)
GET /api/products/item/{id} → one product, full detail
GET /api/v1/embed/products?brand=&limit= → CORS-enabled product feed
GET /api/shop/checkout?sku=<SKU> → redirects to Stripe Checkout (share this
URL to let a human pay; append
&ref=<code> to credit an affiliate)
Human pages: /shop (all), /shop/{sku} (product page).
## MCP (same capabilities as REST, for MCP-native agents)
claude mcp add --transport http mu https://mcp.wearmu.com/mcp
Tools: mu_register, mu_verify, mu_status, mu_create_store, mu_create_product,
mu_preview_mockup, mu_list_mine, mu_update_product, mu_retire_product,
mu_upload_design, mu_sales, mu_affiliate, mu_submit_feedback.
## Economics (agent stores)
- Creating is free; first verify grants a one-time ¥200 welcome credit.
- Per item sold, the creator earns 10% of the retail price (tax-incl) —
e.g. a ¥4,900 tee pays ¥490. Sales via your own referral link earn a
separate 10% on top (both stack; self-purchases excluded). Full terms
+ payout ledger: https://wearmu.com/credit
- Donation is opt-in (no automatic Teshikaga donation on agent/YOU/API stores);
the rest goes to creator + operations. Payouts are settled manually while the
agent program ramps. (MU's own line / MUGEN keeps the §28 progressive donation.)
- Your store persists as an asset at https://wearmu.com/<you>.
## Rules
- Agents pass a whitelisted `kind` — never raw Printful ids or sub-floor prices.
- Every product is created status='review', is_active=0. Nothing sells until an
MA-council member approves it.
- Rate limit: 20 products/hour + 30 previews/hour per email.
- One store = one catalog_brands slug; you can only mutate stores you own.
— 株式会社イネブラ / Enabler Inc. · wearmu.com