agentee
Ce que fait ce MCP
Searches and purchases all-over print apparel, manages carts, promotions, shipping, checkout, orders, and user-submitted designs.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['print_id', 'size'], 'properties': {'qty': {'type': 'integer', 'description': 'Quantity (default 1, max 99).'}, 'size': {'type': 'string', 'description': 'Size label; must be available for the chosen product.'}, 'product': {'type': 'string', 'description': 'Studio product base, same set as studio_generate (default mens_oversize_tshirt).'}, 'print_id': {'type': 'string', 'description': 'Finished print id — studio_status must report status=done.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'error': {'type': 'string', 'description': 'Present instead of a cart when the call failed (bad index, unavailable size, ...).'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'qty': {'type': 'integer'}, 'code': {'type': 'string'}, 'size': {'type': 'string'}, 'price': {'type': 'number'}, 'title': {'type': 'string'}, 'custom': {'type': 'boolean', 'description': 'True when the line is a user-generated custom print.'}, 'fabric': {'type': 'string'}, 'good_id': {'type': 'integer'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}}}, 'description': 'Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take.'}, 'currency': {'type': 'string'}, 'subtotal': {'type': 'number', 'description': 'Sum of price x qty over all lines, USD.'}, 'checkout_url': {'type': 'string', 'description': 'Cart page URL for the human.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['good_id', 'size'], 'properties': {'qty': {'type': 'integer', 'description': 'Quantity to add (default 1, max 99).'}, 'size': {'type': 'string', 'description': "Size label; must be one of the product's available sizes."}, 'fabric': {'type': 'string', 'description': 'Fabric label from get_product, if the product offers a choice.'}, 'good_id': {'type': 'integer', 'description': 'Numeric product id from search_products/get_product.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'error': {'type': 'string', 'description': 'Present instead of a cart when the call failed (bad index, unavailable size, ...).'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'qty': {'type': 'integer'}, 'code': {'type': 'string'}, 'size': {'type': 'string'}, 'price': {'type': 'number'}, 'title': {'type': 'string'}, 'custom': {'type': 'boolean', 'description': 'True when the line is a user-generated custom print.'}, 'fabric': {'type': 'string'}, 'good_id': {'type': 'integer'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}}}, 'description': 'Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take.'}, 'currency': {'type': 'string'}, 'subtotal': {'type': 'number', 'description': 'Sum of price x qty over all lines, USD.'}, 'checkout_url': {'type': 'string', 'description': 'Cart page URL for the human.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': 'Promo code to validate and apply.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'code': {'type': 'string', 'description': 'Normalized promo code (when applied).'}, 'error': {'type': 'string', 'description': 'Present when the cart is empty or code is missing.'}, 'total': {'type': 'number'}, 'reason': {'type': 'string', 'description': 'Why the code was rejected (when applied=false).'}, 'applied': {'type': 'boolean'}, 'currency': {'type': 'string'}, 'discount': {'type': 'number'}, 'shipping': {'type': 'number'}, 'subtotal': {'type': 'number'}}}
Schéma d’entrée
{'type': 'object', 'required': ['index'], 'properties': {'index': {'type': 'integer', 'description': 'Zero-based cart line index from view_cart.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'error': {'type': 'string', 'description': 'Present instead of a cart when the call failed (bad index, unavailable size, ...).'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'qty': {'type': 'integer'}, 'code': {'type': 'string'}, 'size': {'type': 'string'}, 'price': {'type': 'number'}, 'title': {'type': 'string'}, 'custom': {'type': 'boolean', 'description': 'True when the line is a user-generated custom print.'}, 'fabric': {'type': 'string'}, 'good_id': {'type': 'integer'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}}}, 'description': 'Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take.'}, 'currency': {'type': 'string'}, 'subtotal': {'type': 'number', 'description': 'Sum of price x qty over all lines, USD.'}, 'checkout_url': {'type': 'string', 'description': 'Cart page URL for the human.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['index'], 'properties': {'qty': {'type': 'integer', 'description': 'New quantity; 0 removes the line.'}, 'size': {'type': 'string', 'description': 'New size for this line (must be available for the product).'}, 'index': {'type': 'integer', 'description': 'Zero-based cart line index from view_cart.'}, 'fabric': {'type': 'string', 'description': 'New fabric for this line (must be available for the product).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'error': {'type': 'string', 'description': 'Present instead of a cart when the call failed (bad index, unavailable size, ...).'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'qty': {'type': 'integer'}, 'code': {'type': 'string'}, 'size': {'type': 'string'}, 'price': {'type': 'number'}, 'title': {'type': 'string'}, 'custom': {'type': 'boolean', 'description': 'True when the line is a user-generated custom print.'}, 'fabric': {'type': 'string'}, 'good_id': {'type': 'integer'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}}}, 'description': 'Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take.'}, 'currency': {'type': 'string'}, 'subtotal': {'type': 'number', 'description': 'Sum of price x qty over all lines, USD.'}, 'checkout_url': {'type': 'string', 'description': 'Cart page URL for the human.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Cart page for the human to review and pay.'}, 'note': {'type': 'string'}, 'items_in_cart': {'type': 'integer'}}}
Schéma d’entrée
{'type': 'object', 'required': ['design_ids'], 'properties': {'primary': {'type': 'integer', 'description': 'Which variant represents the set.'}, 'design_ids': {'type': 'array', 'items': {'type': 'integer'}, 'description': 'At least two of my own design ids.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'error': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'primary': {'type': 'integer'}, 'variants': {'type': 'array', 'items': {'type': 'integer'}}, 'colorway_id': {'type': 'integer'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['colorway_id', 'design_id'], 'properties': {'design_id': {'type': 'integer'}, 'colorway_id': {'type': 'integer'}}}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'error': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'variants': {'type': 'array', 'items': {'type': 'integer'}}, 'colorway_id': {'type': 'integer'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'sets': {'type': 'array', 'items': {'type': 'object', 'properties': {'shown_as': {'type': 'string'}, 'variants': {'type': 'array', 'items': {'type': 'object'}}, 'colorway_id': {'type': 'integer'}}}}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'is_partner': {'type': 'boolean'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max designs to return (default 50, max 200).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'designs': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Product page (null if nothing is live).'}, 'name': {'type': 'string'}, 'status': {'type': 'string', 'description': 'live | hidden | no products yet'}, 'design_id': {'type': 'integer'}, 'live_products': {'type': 'integer', 'description': 'Active products with this design.'}}}}, 'is_partner': {'type': 'boolean'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}, 'designer_page': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': ['design_id'], 'properties': {'design_id': {'type': 'integer'}}}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'error': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'design_id': {'type': 'integer'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'accrued': {'type': 'number', 'description': 'Royalties accrued from paid orders.'}, 'landing': {'type': 'string', 'description': "The designer's public page URL."}, 'revenue': {'type': 'number'}, 'nickname': {'type': 'string'}, 'is_partner': {'type': 'boolean'}, 'units_sold': {'type': 'integer'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}, 'royalty_percent': {'type': 'number'}, 'available_for_payout': {'type': 'number', 'description': 'Accrued royalties from delivered orders, ready for payout.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max submissions to return (default 20, max 100).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'is_partner': {'type': 'boolean'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}, 'submissions': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'status': {'type': 'string', 'description': 'in review | in catalog | needs changes'}, 'design_name': {'type': 'string'}, 'submitted_at': {'type': 'string'}}}}}}
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max rows (default 50, max 200).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'uploads': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'name': {'type': 'string'}, 'batch': {'type': 'string'}, 'reason': {'type': 'string'}, 'status': {'type': 'string'}}}}, 'is_partner': {'type': 'boolean'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'filename': {'type': 'string', 'description': 'Original file name, for readability.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'method': {'type': 'string'}, 'upload_id': {'type': 'string'}, 'expires_in': {'type': 'integer', 'description': 'Seconds the URL stays valid.'}, 'is_partner': {'type': 'boolean'}, 'upload_url': {'type': 'string'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Present when the cart is empty.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'qty': {'type': 'integer'}, 'size': {'type': 'string'}, 'price': {'type': 'number'}, 'title': {'type': 'string'}, 'custom': {'type': 'boolean'}, 'product': {'type': 'string'}}}, 'description': 'Re-priced order lines.'}, 'total': {'type': 'number'}, 'issues': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Lines that became unavailable, if any.'}, 'currency': {'type': 'string'}, 'discount': {'type': 'number'}, 'shipping': {'type': 'object', 'properties': {'price': {'type': 'number'}, 'method': {'type': 'string'}}}, 'subtotal': {'type': 'number'}, 'promo_code': {'type': 'string'}, 'ready_to_prepare': {'type': 'boolean', 'description': 'True when an address is set and all lines are orderable.'}, 'shipping_address': {'type': 'object', 'description': 'Address set via set_shipping_address (null if not set).'}}}
Schéma d’entrée
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': 'Product code from search_products results.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'url': {'type': 'string'}, 'code': {'type': 'string'}, 'about': {'type': 'string', 'description': 'Design description text (may be null).'}, 'error': {'type': 'string', 'description': 'Present when the product was not found.'}, 'image': {'type': 'string'}, 'price': {'type': 'number'}, 'sizes': {'type': 'array', 'items': {'type': 'string'}}, 'theme': {'type': 'string'}, 'title': {'type': 'string'}, 'fabrics': {'type': 'array', 'items': {'type': 'string'}}, 'good_id': {'type': 'integer'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': 'string'}, 'price': {'type': 'number'}, 'fabric': {'type': 'string'}}}, 'description': 'Price per size+fabric combination.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'addresses': {'type': 'array', 'items': {'type': 'object', 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'phone': {'type': 'string'}, 'address': {'type': 'string'}, 'country': {'type': 'string'}, 'summary': {'type': 'string', 'description': 'One-line address summary.'}}}, 'description': 'Up to 5 distinct addresses from past orders, newest first.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'options': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Pass this to set_shipping_method.'}, 'eta': {'type': 'string'}, 'note': {'type': 'string'}, 'label': {'type': 'string'}, 'price': {'type': 'number'}, 'currency': {'type': 'string'}}}}, 'free_shipping_from': {'type': 'number', 'description': 'Subtotal (USD) at which shipping becomes free.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'fit': {'type': 'string', 'description': 'Saved fit preference: basic | oversized, or null.'}, 'size': {'type': 'string', 'description': 'Saved default size, or null.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max collections to return (default 50, max 100).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'collections': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Collection landing page.'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}}}}}}
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max orders to return (default 5, max 20).'}, 'number': {'type': 'string', 'description': 'Exact order number to look up; omit for the most recent orders.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string', 'description': 'Present when the account has no email on file.'}, 'orders': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Order tracking page.'}, 'total': {'type': 'number'}, 'number': {'type': 'string'}, 'status': {'type': 'string'}, 'currency': {'type': 'string'}, 'created_at': {'type': 'string', 'description': 'ISO 8601 timestamp.'}}}}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Empty cart, missing address or no orderable items.'}, 'total': {'type': 'number'}, 'issues': {'type': 'array', 'items': {'type': 'string'}}, 'currency': {'type': 'string'}, 'draft_id': {'type': 'string', 'description': 'Draft order number.'}, 'expires_at': {'type': 'string', 'description': 'ISO 8601 time when the draft expires (48 h).'}, 'checkout_url': {'type': 'string', 'description': 'Pre-filled checkout link — send it to the human to review and pay.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'applied': {'type': 'boolean', 'description': 'Always false after removal.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max cards to return (default 24, max 48).'}, 'query': {'type': 'string', 'description': "Free-text search, e.g. 'cat' or 'neon koi'."}, 'theme': {'type': 'string', 'description': 'Canonical theme filter (Cats, Anime, Skulls, ...); comma-separate several.'}, 'section': {'type': 'string', 'description': 'Catalog section: mens, womens or kids.'}, 'max_price': {'type': 'number', 'description': 'Only items priced at or below this amount, USD.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Canonical product page.'}, 'code': {'type': 'string'}, 'image': {'type': 'string'}, 'price': {'type': 'number'}, 'theme': {'type': 'string'}, 'title': {'type': 'string'}, 'good_id': {'type': 'integer'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}}}, 'description': 'Product cards.'}, 'total': {'type': 'integer', 'description': 'Total catalog matches for the filters.'}, 'showing': {'type': 'integer', 'description': 'Number of cards returned.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['index', 'qty'], 'properties': {'qty': {'type': 'integer', 'description': 'New quantity (0 removes the line, max 99).'}, 'index': {'type': 'integer', 'description': 'Zero-based cart line index from view_cart.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'error': {'type': 'string', 'description': 'Present instead of a cart when the call failed (bad index, unavailable size, ...).'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'qty': {'type': 'integer'}, 'code': {'type': 'string'}, 'size': {'type': 'string'}, 'price': {'type': 'number'}, 'title': {'type': 'string'}, 'custom': {'type': 'boolean', 'description': 'True when the line is a user-generated custom print.'}, 'fabric': {'type': 'string'}, 'good_id': {'type': 'integer'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}}}, 'description': 'Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take.'}, 'currency': {'type': 'string'}, 'subtotal': {'type': 'number', 'description': 'Sum of price x qty over all lines, USD.'}, 'checkout_url': {'type': 'string', 'description': 'Cart page URL for the human.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['colorway_id', 'design_id'], 'properties': {'design_id': {'type': 'integer'}, 'colorway_id': {'type': 'integer'}}}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'error': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'primary': {'type': 'integer'}, 'colorway_id': {'type': 'integer'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['name', 'country', 'city', 'address', 'phone'], 'properties': {'zip': {'type': 'string', 'description': 'Postal / ZIP code (optional where not used).'}, 'city': {'type': 'string', 'description': 'Destination city.'}, 'name': {'type': 'string', 'description': 'Recipient full name.'}, 'phone': {'type': 'string', 'description': 'Contact phone number for delivery.'}, 'address': {'type': 'string', 'description': 'Street address line.'}, 'country': {'type': 'string', 'description': 'Destination country.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string', 'description': 'Missing fields or empty cart.'}, 'shipping': {'type': 'object', 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'phone': {'type': 'string'}, 'country': {'type': 'string'}, 'address_line': {'type': 'string'}, 'full_address': {'type': 'string'}}, 'description': 'Saved address snapshot.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'option_id': {'type': 'string', 'description': "Shipping option id from get_shipping_options (currently 'worldwide')."}}}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string', 'description': 'Unknown option_id or empty cart.'}, 'shipping_method': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'fit': {'type': 'string', 'description': 'Fit preference: basic or oversized.'}, 'size': {'type': 'string', 'description': 'Default size: XS, S, M, L, XL, 2XL…5XL.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'fit': {'type': 'string'}, 'size': {'type': 'string'}, 'error': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'error': {'type': 'string'}, 'detail': {'type': 'string'}, 'balance': {'type': 'number', 'description': 'Current Studio credit balance.'}, 'studio_account': {'type': 'boolean', 'description': 'False if the user has no Studio account yet (first generate auto-creates one).'}}}
Schéma d’entrée
{'type': 'object', 'required': ['prompt'], 'properties': {'model': {'type': 'string', 'description': 'Generation engine: nb2 (default) or gpt-image-2 — both 1 credit.'}, 'prompt': {'type': 'string', 'description': 'Text description of the design to generate.'}, 'product': {'type': 'string', 'description': 'Studio product base from studio_options (default mens_oversize_tshirt).'}, 'preserve': {'type': 'boolean', 'description': 'true = print the image exactly as-is, no AI redraw (free); requires image_url.'}, 'image_url': {'type': 'string', 'description': "https link to the user's OWN image, used as style/subject reference."}, 'placement': {'type': 'string', 'description': 'Print size/position: portrait_extended (default), square_center or chest_small.'}, 'background': {'type': 'string', 'description': 'T-shirt background choice (see studio_options backgrounds).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'error': {'type': 'string', 'description': 'e.g. not enough Studio credits, daily limit reached, invalid product.'}, 'detail': {'type': 'string'}, 'status': {'type': 'string'}, 'print_id': {'type': 'string', 'description': 'Generation id — poll studio_status with it.'}, 'tell_user': {'type': 'string', 'description': 'Say this to the account owner — what was spent from their balance and what is left.'}, 'topup_url': {'type': 'string', 'description': "Where the user can buy credits (present on 'not enough credits')."}, 'cost_credits': {'type': 'number', 'description': 'Credits spent on this generation.'}, 'signup_bonus': {'type': 'number'}, 'balance_after': {'type': 'number', 'description': 'Credits left after this generation.'}, 'balance_before': {'type': 'number'}, 'studio_account_created': {'type': 'boolean', 'description': 'Present when a Studio account was auto-created for the user.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'models': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'default': {'type': 'boolean'}}}, 'description': 'Generation engines with cost notes.'}, 'products': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}}}}, 'placements': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'description': {'type': 'string'}}}, 'description': 'Print size/position choices.'}, 'backgrounds': {'type': 'array', 'items': {'type': 'string'}}}}
Schéma d’entrée
{'type': 'object', 'required': ['print_id'], 'properties': {'print_id': {'type': 'string', 'description': 'Generation id returned by studio_generate.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Generation failure reason (credits are refunded).'}, 'detail': {'type': 'string'}, 'status': {'type': 'string', 'description': "Generation state; 'done' and 'failed' are terminal."}, 'print_id': {'type': 'string'}, 'design_url': {'type': 'string', 'description': 'Shareable Studio design page (when done) — the link to SHARE with the human.'}, 'preview_url': {'type': 'string', 'description': 'Raw print image (when done) — embed/attach it so the human sees the print in chat.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['name', 'front'], 'properties': {'back': {'type': 'string', 'description': 'Optional second side: URL or upload_id.'}, 'name': {'type': 'string', 'description': 'Design name the moderator will see.'}, 'note': {'type': 'string', 'description': 'Anything the moderator should know.'}, 'batch': {'type': 'string', 'description': 'Group id for a bulk upload.'}, 'front': {'type': 'string', 'description': 'Image URL or upload_id. Omit when passing session_id.'}, 'layout': {'type': 'string', 'description': "'front_back' (default) or 'r10'."}, 'session_id': {'type': 'string', 'description': 'Finished Studio session of this designer (print_id from studio_generate). Alternative to front.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string'}, 'error': {'type': 'string'}, 'pitch': {'type': 'string', 'description': 'Designer-program pitch to relay to the user — present when is_partner is false.'}, 'status': {'type': 'string'}, 'upload_id': {'type': 'integer'}, 'is_partner': {'type': 'boolean'}, 'how_to_join': {'type': 'string', 'description': 'How to join the designer program — present when is_partner is false.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'error': {'type': 'string', 'description': 'Present instead of a cart when the call failed (bad index, unavailable size, ...).'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'qty': {'type': 'integer'}, 'code': {'type': 'string'}, 'size': {'type': 'string'}, 'price': {'type': 'number'}, 'title': {'type': 'string'}, 'custom': {'type': 'boolean', 'description': 'True when the line is a user-generated custom print.'}, 'fabric': {'type': 'string'}, 'good_id': {'type': 'integer'}, 'product': {'type': 'string'}, 'currency': {'type': 'string'}}}, 'description': 'Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take.'}, 'currency': {'type': 'string'}, 'subtotal': {'type': 'number', 'description': 'Sum of price x qty over all lines, USD.'}, 'checkout_url': {'type': 'string', 'description': 'Cart page URL for the human.'}}}
Modifications récentes des outils
Serveurs MCP similaires
roastify-mcp
Supports a coffee commerce workflow with product and blend catalogs, inventory, coupons, packaging design editing, artwork genera…
YouCam for Beauty & Personal Care
Offers image-based beauty and personal-care analysis and virtual try-on tools for makeup, hair, facial features, body reshaping, …
mu
Supports AI-assisted print-on-demand product design, storefronts, manufacturing quotes, orders, fulfillment, shipping, sales, and…
studiomcphub
Provides image enhancement, background removal, vectorization, color and print preparation, artwork search and analysis, product …
Capucine
Provides sourced personal styling guidance, weather-aware outfit recommendations, apparel shopping criteria, and links to verifie…
YouCam for Fashion & Retail
Provides image-based virtual try-on experiences for clothing, accessories, jewelry, watches, makeup, fabric, hats, scarves, and s…
R3PLICA AI Connector
Searches and presents premium design-brand products, collections, finishes, specifications, comparisons, images, and catalog link…
uxgen
Audits and assembles ecommerce pages, generates product imagery and packshots, supports Shopify sections, and provides SEO and co…