{"serverId":"mcp-registry/com.wearmu/mu","tools":[{"name":"mu_affiliate","fixed":{"name":"mu_affiliate","description":"Get your personal MU affiliate (referral) link + stats. Share the `link`; when someone buys any MU product within 30 days of clicking it, you earn a commission as MU store credit (default 10% of the sale). You can also append the returned `ref_param` to any product URL. Returns clicks, sales (uses), earned_jpy and your mu_credit_balance. Requires `Authorization: Bearer <api_key>`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get my MU affiliate link"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":146,"tokensAfter":146},{"name":"mu_check","fixed":{"name":"mu_check","description":"Ask the MU requirements engine whether a planned make satisfies its requirements: product spec floor (required attributes per kind), legal/compliance flags (e.g. JP 家庭用品品質表示法 / 技適 / 食品衛生法), and supplier order terms (MOQ, accepted input format, material constraints). Pass `kind` (required) + optional `region` (e.g. jp), `supplier_id`, and either `spec` (a JSON string) or individual attributes (material/dimensions/colors/print_method/placement/qty/size_range/embroidery_spec). Returns { ok, kind, r","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["kind"],"properties":{"kind":{"type":"string","description":"Product kind (e.g. gi / tote / rashguard_ls)."},"spec":{"type":"string","description":"Spec as a JSON string, e.g. {\"material\":\"8oz canvas\",\"dimensions\":\"A4\"}."},"colors":{"type":"string"},"region":{"type":"string","description":"Region, e.g. jp/us. Triggers region-specific legal requirements."},"material":{"type":"string"},"placement":{"type":"string"},"dimensions":{"type":"string"},"size_range":{"type":"string"},"supplier_id":{"type":"string","description":"Supplier id (e.g. isami_gi) to also check its order terms."},"print_method":{"type":"string"},"embroidery_spec":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check spec / legal / supplier requirements for a make"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":369,"tokensAfter":369},{"name":"mu_create_product","fixed":{"name":"mu_create_product","description":"Create a product in one of your MU stores. Provide the artwork EITHER as `design_url` (an absolute https URL to ready-made art) OR as `ai_prompt` (a text brief — MU generates the artwork for you and deducts the AI-gen cost from your mu_credits balance; see mu_status → limits.ai_gen for cost_jpy and whether it is enabled). Pass exactly one of the two. `kind` must be one of: tee, tee_white, rashguard_ls, rashguard_black, hoodie, crewneck, sticker, mug, tote, tank, cap, phone_case, long_sleeve_tee,","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["store","label","description","kind"],"properties":{"kind":{"enum":["tee","tee_white","rashguard_ls","rashguard_black","hoodie","crewneck","sticker","mug","tote","tank","cap","phone_case","long_sleeve_tee","shorts","beanie","leggings","joggers","apron","canvas","metal_print","pillow","blanket","coaster","placemat","journal","mug_black","wine_glass","towel","bottle","mouse_pad","laptop_sleeve","poster","nfc_coin","device","event_ticket","song","zine","video","karaoke_ticket","house","socks","drawstring_bag","beach_towel","fanny_pack","bucket_hat","kids_tee","backpack","flag","printful_custom"],"type":"string","description":"Product kind. One of: tee, tee_white, rashguard_ls, rashguard_black, hoodie, crewneck, sticker, mug, tote, tank, cap, phone_case, long_sleeve_tee, shorts, beanie, leggings, joggers, apron, canvas, metal_print, pillow, blanket, coaster, placemat, journal, mug_black, wine_glass, towel, bottle, mouse_pad, laptop_sleeve, poster, nfc_coin, device, event_ticket, song, zine, video, karaoke_ticket, house, socks, drawstring_bag, beach_towel, fanny_pack, bucket_hat, kids_tee, backpack, flag, printful_custom."},"label":{"type":"string","description":"Product label / title."},"store":{"type":"string","description":"Slug of the store to add the product to."},"capacity":{"type":"integer","description":"event_ticket only: seat limit (定員). Once sold out, checkout is blocked. Omit = unlimited.","exclusiveMinimum":0},"position":{"type":"object","required":["w_pct","x_pct","y_pct"],"properties":{"w_pct":{"type":"number","maximum":100,"minimum":20,"description":"Print width as % of the printable area (20-100). 62 ≈ the default chest print."},"x_pct":{"type":"number","maximum":100,"minimum":0,"description":"Horizontal position of the print box (0=left, 50=centered, 100=right)."},"y_pct":{"type":"number","maximum":100,"minimum":0,"description":"Vertical position of the print box (0=top/neck, 50=centered, 100=bottom/hem)."}},"description":"Optional print placement — front-print DTG apparel only (tee / tee_white / hoodie / crewneck / tank / long_sleeve_tee). The preview mockup AND the real print order use the same resolved box (WYSIWYG). Preview with mu_preview_mockup before creating.","additionalProperties":false},"ai_prompt":{"type":"string","maxLength":600,"description":"Text brief for MU to generate the artwork (<=600 chars). Costs mu_credits (see mu_status → limits.ai_gen). Provide this OR design_url (not both)."},"audio_url":{"type":"string","format":"uri","description":"song only: absolute https URL of the audio file delivered to the buyer on purchase."},"price_jpy":{"type":"integer","description":"Optional retail price in JPY. Must respect the kind's price_floor_jpy (see mu_status)."},"design_url":{"type":"string","format":"uri","description":"Absolute https URL to ready-made design artwork (ticket art / song cover for digital kinds). Provide this OR ai_prompt (not both)."},"description":{"type":"string","description":"Product description."},"printful_product_id":{"type":"integer","description":"printful_custom only: the Printful catalog product id (from the Printful catalog API). MU makes ANY of Printful's ~500 catalog products this way — placement, fulfillment route and price floor are resolved live from Printful at create time.","exclusiveMinimum":0},"printful_variant_id":{"type":"integer","description":"printful_custom only: the Printful variant id (size/color) for the chosen product.","exclusiveMinimum":0}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create an MU product"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":1153,"tokensAfter":1153},{"name":"mu_create_store","fixed":{"name":"mu_create_store","description":"Open a new MU store (a branded storefront) under your agent account. Returns the store slug and public store_url. Requires `Authorization: Bearer <api_key>`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug","name"],"properties":{"name":{"type":"string","description":"Display name of the store."},"slug":{"type":"string","description":"URL slug for the store, e.g. \"my-dojo\" → wearmu.com/my-dojo."},"emoji":{"type":"string","description":"Optional emoji used as the store mark."},"tagline":{"type":"string","description":"Optional short tagline shown on the storefront."},"color_primary":{"type":"string","description":"Optional primary brand color, hex e.g. \"#0a4d9c\"."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create an MU store"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":223,"tokensAfter":223},{"name":"mu_gi_logo_set","fixed":{"name":"mu_gi_logo_set","description":"Update one gi sponsor placement (by slot from mu_gi_logos) — swap its logo_url, set its status (ok|low|request|missing) and/or add a note (e.g. where the vector was requested). Owner-only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slot"],"properties":{"note":{"type":"string","description":"Free note, e.g. 'vector requested from pr@…'."},"slot":{"type":"string","description":"Placement slot, e.g. \"lsleeve-kagi\" (from mu_gi_logos)."},"status":{"enum":["ok","low","request","missing"],"type":"string","description":"New logo-file status."},"consent":{"enum":["yes","requested","no"],"type":"string","description":"Written permission to embroider this brand on the gi. yes=have written OK; requested=asked, not yet granted; no=declined. Only consent=yes AND status=ok is print-ready — set yes ONLY when you actually hold written permission."},"logo_url":{"type":"string","description":"New absolute https URL of the hi-res / vector logo."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Update an ISAMI gi sponsor logo (owner only)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":297,"tokensAfter":297},{"name":"mu_gi_logos","fixed":{"name":"mu_gi_logos","description":"List the MU × JiuFlow sponsored gi's 17 sponsor placements with each logo's slot, brand, position, finished size, thread color, logo file/url, status (ok=hi-res | low=low-res | request=not collected | missing), and consent (yes=written permission to embroider on apparel | requested | no). ready_to_print is true ONLY when status=ok AND consent=yes — anything else must NOT be sent to ISAMI (using a brand's mark without permission is trademark misuse). Owner-only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"List ISAMI gi sponsor logos + status (owner only)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":168,"tokensAfter":168},{"name":"mu_gi_techpack","fixed":{"name":"mu_gi_techpack","description":"Return the MU × JiuFlow gi's public page and lifestyle/mockup image URLs (front/back/crest/QR). The dimensioned tech-pack PDF lives in the repo (docs/gi-isami-2026-05-12/). Owner-only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get the gi techpack / mockup asset URLs (owner only)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"mu_guest","fixed":{"name":"mu_guest","description":"The fastest way to start on MU: one call returns a guest `api_key`, a ready-made store (store slug + store_url) and free mu_credits — no email, no verification code. After this call, tell the user their api_key and have them reconnect with header `Authorization: Bearer <api_key>`; then mu_create_product works immediately. The guest key is the ONLY credential — it cannot be recovered if lost, so the user should save it, and can later bind an email (via mu_register with the same key) to make the a","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Start instantly — get a guest key + store (no email)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":177,"tokensAfter":177},{"name":"mu_list_mine","fixed":{"name":"mu_list_mine","description":"List every product you have created across your MU stores: sku, store, label, kind, retail_price_jpy, status (review/live/retired/…), design_file and pdp_url. Requires `Authorization: Bearer <api_key>`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"List my MU products"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":95,"tokensAfter":95},{"name":"mu_order_advance","fixed":{"name":"mu_order_advance","description":"Move an order one step in the lifecycle: ordered→production→shipped→completed, or ordered→refund_pending (lot expiry / human judgment), refund_pending→refunded (human recorded refund). Backward/skipped transitions are rejected. Production is blocked while lot_lock=true until the lot fills.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"integer","description":"Order id.","exclusiveMinimum":0},"note":{"type":"string"},"status":{"enum":["ordered","production","shipped","completed","refund_pending","refunded"],"type":"string","description":"New status."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Advance an order's status (your account)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":199,"tokensAfter":199},{"name":"mu_order_create","fixed":{"name":"mu_order_create","description":"Open a purchase order (受注) from a received RFQ (pass `rfq_id`) or directly with `supplier_id`+`kind`. If the supplier's MOQ is unmet, the order is lot-locked (lot_lock=true) until the lot (same supplier+kind) fills. Fills are public: any agent can contribute to a lot. If the deadline (30d) passes before fill, the order flips to refund_pending and is listed as an auto-refund candidate (human executes the refund). Status flow: ordered → production → shipped → completed, with refund_pending → refun","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"qty":{"type":"integer","description":"Quantity (default: from rfq, else 1).","exclusiveMinimum":0},"kind":{"type":"string","description":"Product kind (if rfq_id omitted)."},"note":{"type":"string"},"rfq_id":{"type":"integer","description":"RFQ id (must be status='received').","exclusiveMinimum":0},"unit_jpy":{"type":"integer","description":"Unit price (from rfq's quoted_unit_jpy if omitted).","exclusiveMinimum":0},"supplier_id":{"type":"string","description":"Supplier id (if rfq_id omitted)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Open a purchase order (your account)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":326,"tokensAfter":326},{"name":"mu_order_status","fixed":{"name":"mu_order_status","description":"List purchase orders with optional filters by `supplier_id`, `status`, and `refund=1` to show only auto-refund candidates (refund_pending). Orders are scoped to your account (admin sees all).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"refund":{"type":"boolean","description":"If true, show only auto-refund candidates."},"status":{"enum":["ordered","production","shipped","completed","refund_pending","refunded"],"type":"string"},"supplier_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"List orders (your account)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":164,"tokensAfter":164},{"name":"mu_preview_mockup","fixed":{"name":"mu_preview_mockup","description":"See the mockup BEFORE creating any product — nothing is created or sold, and it costs no credits. Renders the design on the real garment (Printful) when the kind supports it (source: \"printful\"), otherwise a clean MU product card (source: \"card\"), and returns a durable preview image URL. Optionally pass `position` (front-print DTG apparel only: tee / tee_white / hoodie / crewneck / tank / long_sleeve_tee) to preview a custom print placement — passing the SAME position to mu_create_product prints","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"kind":{"enum":["tee","tee_white","rashguard_ls","rashguard_black","hoodie","crewneck","sticker","mug","tote","tank","cap","phone_case","long_sleeve_tee","shorts","beanie","leggings","joggers","apron","canvas","metal_print","pillow","blanket","coaster","placemat","journal","mug_black","wine_glass","towel","bottle","mouse_pad","laptop_sleeve","poster","nfc_coin","device","event_ticket","song","zine","video","karaoke_ticket","house","socks","drawstring_bag","beach_towel","fanny_pack","bucket_hat","kids_tee","backpack","flag","printful_custom"],"type":"string","description":"Product kind to preview on (required unless preview_id is set)."},"position":{"type":"object","required":["w_pct","x_pct","y_pct"],"properties":{"w_pct":{"type":"number","maximum":100,"minimum":20,"description":"Print width as % of the printable area (20-100). 62 ≈ the default chest print."},"x_pct":{"type":"number","maximum":100,"minimum":0,"description":"Horizontal position of the print box (0=left, 50=centered, 100=right)."},"y_pct":{"type":"number","maximum":100,"minimum":0,"description":"Vertical position of the print box (0=top/neck, 50=centered, 100=bottom/hem)."}},"description":"Optional print placement — front-print DTG apparel only (tee / tee_white / hoodie / crewneck / tank / long_sleeve_tee). The preview mockup AND the real print order use the same resolved box (WYSIWYG). Preview with mu_preview_mockup before creating.","additionalProperties":false},"design_url":{"type":"string","format":"uri","description":"Absolute https URL of the design artwork (required unless preview_id is set). Use mu_upload_design first for local images."},"preview_id":{"type":"string","description":"Continue waiting on an earlier preview that returned status=\"processing\"."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Preview a product mockup (before creating)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":678,"tokensAfter":678},{"name":"mu_rfq_create","fixed":{"name":"mu_rfq_create","description":"Open a quote request (RFQ) to a non-POD supplier (gi/loopwheel/seamless-knit/premium AOP). Generates a ready-to-send draft (subject/body) and saves it status='drafted'. Does NOT send — outbound mail/PO is a human gate. Pass `supplier_id` OR `kind`/`description` (the router resolves a quote-mode supplier), `qty`, and optionally `spec_id` (from mu_spec_draft), `product_ref`, `spec_pack_url`, `note`. RFQs are scoped to your account (admin sees all).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"qty":{"type":"integer","description":"Quantity (default 1).","exclusiveMinimum":0},"kind":{"type":"string","description":"Product kind (e.g. gi/seamless_knit)."},"note":{"type":"string"},"spec_id":{"type":"string","description":"Spec id from mu_spec_draft to attach."},"description":{"type":"string","description":"Free text to infer kind when kind/supplier omitted."},"product_ref":{"type":"string","description":"Reference SKU or /make ref."},"supplier_id":{"type":"string","description":"Supplier id (e.g. isami_gi/heritage_loopwheel/shima_seamless/contrado_uk). Omit to resolve from kind/description."},"spec_pack_url":{"type":"string","description":"URL of a techpack/mockup pack for the supplier."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Draft an RFQ to a factory (your account; does not send)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":369,"tokensAfter":369},{"name":"mu_rfq_list","fixed":{"name":"mu_rfq_list","description":"List quote requests (RFQs) with optional filters by `supplier_id`, `kind`, `status` (drafted/sent/received/expired). RFQs are scoped to your account (admin sees all).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"kind":{"type":"string"},"status":{"enum":["drafted","sent","received","expired"],"type":"string"},"supplier_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List RFQs (your account)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"mu_sales","fixed":{"name":"mu_sales","description":"Get sales for your MU stores: per-store and total order_count + revenue_jpy, plus the 50 most recent orders (sku, amount_jpy, created_at, status). Requires `Authorization: Bearer <api_key>`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get my MU sales"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"mu_ship_import_tracking","fixed":{"name":"mu_ship_import_tracking","description":"Paste the CSV that B2クラウド / e飛伝 produced AFTER issuing labels (it contains your お客様管理番号 MU-{id} plus the assigned 送り状番号). Matches each MU-{id} to the order and sets tracking + marks it shipped, in bulk. The natural counterpart to mu_ship_csv. Owner-only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["csv"],"properties":{"csv":{"type":"string","description":"The full CSV text exported from B2クラウド/e飛伝 after issuing labels."},"courier":{"enum":["yamato","sagawa"],"type":"string","description":"Courier (default yamato)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Import courier tracking numbers from a label CSV (owner only)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":182,"tokensAfter":182},{"name":"mu_ship_mark","fixed":{"name":"mu_ship_mark","description":"Advance a physical order's ship_status and (when shipping) record the courier + tracking number. Owner-only. status must be one of pending|in_production|shipped|delivered.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id","status"],"properties":{"id":{"type":"number","description":"catalog_orders.id of the order (from mu_ship_orders)."},"notify":{"type":"boolean","description":"When status=shipped, email the customer a shipped + tracking notice (default false). Transactional shipping mail to the buyer of THIS order."},"status":{"enum":["pending","in_production","shipped","delivered"],"type":"string","description":"New shipping status."},"courier":{"type":"string","description":"Courier, e.g. yamato | sagawa (when status=shipped)."},"tracking":{"type":"string","description":"Tracking / 送り状 number (when status=shipped)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Update an order's shipping status (owner only)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":265,"tokensAfter":265},{"name":"mu_ship_order","fixed":{"name":"mu_ship_order","description":"Fetch a single physical order by id with its status, courier and tracking. Address/phone are masked unless reveal=true. Owner-only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"number","description":"catalog_orders.id of the order."},"reveal":{"type":"boolean","description":"Show full address/phone (default false = masked)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Get one shipping order's detail (owner only)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"mu_ship_orders","fixed":{"name":"mu_ship_orders","description":"List physical (address-bearing) orders for the factory shipping console with their ship_status (pending|in_production|shipped|delivered), courier and tracking. Owner-only: requires the store owner's `Authorization: Bearer <api_key>` (403 otherwise).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"all":{"type":"boolean","description":"Include delivered orders too (default false = active only)."},"reveal":{"type":"boolean","description":"Show full address/phone. Default false = masked (city + last-4) so customer PII stays out of the chat log; set true only when you actually need the full address."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"List MU physical-shipping orders (owner only)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":202,"tokensAfter":202},{"name":"mu_status","fixed":{"name":"mu_status","description":"Get the authenticated agent's profile: email, mu_credits_balance, MA-council flag, their stores, and limits (allowed product kinds with price floors + per-hour caps). Requires `Authorization: Bearer <api_key>`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get MU agent status"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"mu_submit_feedback","fixed":{"name":"mu_submit_feedback","description":"Found a bug, or have an idea to make MU better? File it here. Use this when something on the platform/API misbehaves, a product looks wrong, or you want to request a feature. It lands in the MA-council triage queue. Requires `Authorization: Bearer <api_key>`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["category","title","description"],"properties":{"sku":{"type":"string","description":"Optional: the SKU this feedback is about."},"title":{"type":"string","maxLength":200,"description":"Short one-line summary (<=200 chars)."},"category":{"enum":["bug","feature","improvement"],"type":"string","description":"bug = something is broken; feature = new capability; improvement = make existing better."},"severity":{"enum":["critical","high","medium","low"],"type":"string","description":"Optional (bugs): how bad is it?"},"description":{"type":"string","maxLength":2000,"description":"What happened / what you want. Steps to reproduce for bugs. (<=2000 chars)"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Report a bug or suggest an improvement to MU"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":303,"tokensAfter":303},{"name":"mu_update_product","fixed":{"name":"mu_update_product","description":"Update one of your products. Allowed ONLY while the product is in 'review' or 'retired' (never a live product). You may change label, description, price_jpy (clamped up to the kind's floor), design_url and position (print placement; re-renders the mockup). Printful ids can never change. Owner-only. Requires `Authorization: Bearer <api_key>`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sku"],"properties":{"sku":{"type":"string","description":"SKU of the product to update (must belong to one of your stores)."},"label":{"type":"string","description":"New product label / title."},"position":{"type":"object","required":["w_pct","x_pct","y_pct"],"properties":{"w_pct":{"type":"number","maximum":100,"minimum":20,"description":"Print width as % of the printable area (20-100). 62 ≈ the default chest print."},"x_pct":{"type":"number","maximum":100,"minimum":0,"description":"Horizontal position of the print box (0=left, 50=centered, 100=right)."},"y_pct":{"type":"number","maximum":100,"minimum":0,"description":"Vertical position of the print box (0=top/neck, 50=centered, 100=bottom/hem)."}},"description":"Optional print placement — front-print DTG apparel only (tee / tee_white / hoodie / crewneck / tank / long_sleeve_tee). The preview mockup AND the real print order use the same resolved box (WYSIWYG). Preview with mu_preview_mockup before creating.","additionalProperties":false},"price_jpy":{"type":"integer","description":"New retail price in JPY (clamped up to the kind's price_floor_jpy)."},"design_url":{"type":"string","format":"uri","description":"New absolute https URL to the design artwork."},"description":{"type":"string","description":"New product description."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Update an MU product"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":504,"tokensAfter":504},{"name":"mu_upload_design","fixed":{"name":"mu_upload_design","description":"Upload a PNG design (base64-encoded, <=3MB decoded) and receive a durable https url. Pass that url as `design_url` to mu_create_product. Requires `Authorization: Bearer <api_key>`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["data_base64"],"properties":{"filename":{"type":"string","description":"Optional original filename (informational only)."},"data_base64":{"type":"string","description":"Base64-encoded PNG bytes (a leading data:image/png;base64, prefix is OK). Max ~3MB decoded."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Upload a design image"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":171,"tokensAfter":171}],"toolsChanged":24,"tokensSaved":0,"todo":[{"tool":"mu_check","params":["colors","material","placement","dimensions","size_range","print_method","embroidery_spec"]},{"tool":"mu_order_advance","params":["note"]},{"tool":"mu_order_create","params":["note"]},{"tool":"mu_order_status","params":["status","supplier_id"]},{"tool":"mu_rfq_create","params":["note"]},{"tool":"mu_rfq_list","params":["kind","status","supplier_id"]},{"tool":"mu_rfq_record","params":["moq","note","lead_time_days"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}