MCP 서버

MyHairMail Agent Tools

com.myhairmailtools/agent-tools
커머스 및 리테일 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Checks live wig availability and restock estimates, and maps hair colors across different wig brands.

check_stock
Check wig stock by colour
Live availability of one wig or hairpiece style at MyHairMail, per colour, from the manufacturer's factory feed (not a nightly sync). Distinguishes backordered and discontinued colours, which the Shopify catalog reports as 'available' or omits. availability is one of in_stock | backordered (orderable now, ships when restocked; restock_eta_week given when known) | out_of_stock | discontinued (will not restock). Returns price_usd, compare_at_price_usd and a product_url to buy on myhairmail.com. With color: one product; without color: up to 12 colours (has_more=true means query a specific colour). Not found: did_you_mean styles, or supported_brands if the brand is not carried. When a colour is not buyable now, the response includes next_step naming the tool that finds an equivalent. Never returns quantities. Terms: https://mcp.myhairmailtools.com/terms
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['brand', 'style'], 'properties': {'brand': {'type': 'string', 'description': "Brand name, e.g. 'Jon Renau', 'Raquel Welch', 'Belle Tress'"}, 'color': {'type': 'string', 'description': "Color code or name, e.g. '12FS8' or 'Shaded Praline'. Optional; if omitted, returns per-color availability for up to 12 colors."}, 'style': {'type': 'string', 'description': "Style name, e.g. 'Luna', 'Vesper'"}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['match', 'retailer'], 'properties': {'note': {'type': 'string'}, 'match': {'type': 'boolean'}, 'colors': {'type': 'array', 'items': {'type': 'object', 'required': ['brand', 'style', 'availability', 'price_usd', 'product_url'], 'properties': {'brand': {'type': 'string'}, 'color': {'type': 'string'}, 'style': {'type': 'string'}, 'price_usd': {'type': 'number'}, 'eta_display': {'type': 'string'}, 'product_url': {'type': 'string'}, 'availability': {'enum': ['in_stock', 'out_of_stock', 'backordered', 'discontinued'], 'type': 'string'}, 'restock_eta_week': {'type': 'string'}, 'ships_today_cutoff': {'type': 'string'}, 'compare_at_price_usd': {'type': 'number'}}, 'additionalProperties': {}}}, 'product': {'type': 'object', 'required': ['brand', 'style', 'availability', 'price_usd', 'product_url'], 'properties': {'brand': {'type': 'string'}, 'color': {'type': 'string'}, 'style': {'type': 'string'}, 'price_usd': {'type': 'number'}, 'eta_display': {'type': 'string'}, 'product_url': {'type': 'string'}, 'availability': {'enum': ['in_stock', 'out_of_stock', 'backordered', 'discontinued'], 'type': 'string'}, 'restock_eta_week': {'type': 'string'}, 'ships_today_cutoff': {'type': 'string'}, 'compare_at_price_usd': {'type': 'number'}}, 'additionalProperties': {}}, 'has_more': {'type': 'boolean'}, 'retailer': {'type': 'string'}, 'next_step': {'type': 'object', 'required': ['tool', 'reason'], 'properties': {'tool': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': {}}, 'did_you_mean': {'type': 'array', 'items': {'type': 'object', 'required': ['brand', 'style'], 'properties': {'brand': {'type': 'string'}, 'color': {'type': 'string'}, 'style': {'type': 'string'}}, 'additionalProperties': {}}}, 'supported_brands': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': {}}
color_crossmatch
Match a colour across wig brands
Closest equivalent colours in ONE target brand for a known colour from a DIFFERENT brand, using MyHairMail's cross-brand colour mapping. Answers 'what is my shade called in brand X' — relevant when a colour is discontinued or out of stock, or when a shopper knows their shade in one brand and is shopping another. Returns up to 3 matches ranked by similarity (closest > close > approximate) with short tone notes, and when available an example_in_stock_style + product_url in the target brand. Same-brand requests are refused (use check_stock for other colours of the same brand). One source colour and one target brand per call; 'all brands' and wildcards are not supported. Unknown brand: supported_brands is returned. Terms: https://mcp.myhairmailtools.com/terms
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['source_brand', 'source_color', 'target_brand'], 'properties': {'source_brand': {'type': 'string', 'description': "Brand of the known color, e.g. 'Jon Renau'"}, 'source_color': {'type': 'string', 'description': "Color code or name, e.g. '12FS8' or 'Shaded Praline'"}, 'target_brand': {'type': 'string', 'description': "Single brand to match into, e.g. 'Belle Tress'. Wildcards and 'all brands' are not supported."}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['match', 'retailer'], 'properties': {'note': {'type': 'string'}, 'match': {'type': 'boolean'}, 'reason': {'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['target_brand', 'target_color', 'similarity', 'tone_notes'], 'properties': {'similarity': {'enum': ['closest', 'close', 'approximate'], 'type': 'string'}, 'tone_notes': {'type': 'string'}, 'product_url': {'type': 'string'}, 'target_brand': {'type': 'string'}, 'target_color': {'type': 'string'}, 'example_in_stock_style': {'type': 'string'}}, 'additionalProperties': {}}}, 'retailer': {'type': 'string'}, 'source_brand': {'type': 'string'}, 'source_color': {'type': 'string'}, 'target_brand': {'type': 'string'}, 'supported_brands': {'type': 'array', 'items': {'type': 'string'}}, 'source_color_query': {'type': 'string'}}, 'additionalProperties': {}}
get_restock_eta
Get restock week for a colour
Expected back-in-stock week for one colour of a MyHairMail wig that is backordered or out of stock, from live factory availability. restock_eta_week is the Monday (YYYY-MM-DD) of the ISO week of expected arrival; eta_display is human phrasing ('week of Nov 9'). preorder_available=true means it can be ordered now and ships when restocked. discontinued means it will not restock; the response then includes next_step naming the tool that finds an equivalent. For an in_stock colour this simply confirms availability. Never returns quantities. Terms: https://mcp.myhairmailtools.com/terms
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['brand', 'style', 'color'], 'properties': {'brand': {'type': 'string', 'description': "Brand name, e.g. 'Envy', 'Jon Renau'"}, 'color': {'type': 'string', 'description': "Colour name or code exactly as listed by check_stock, e.g. 'Prosecco' or 'FS26/31S6'"}, 'style': {'type': 'string', 'description': "Style name, e.g. 'Charlotte Hand-Tied'"}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['match', 'retailer'], 'properties': {'note': {'type': 'string'}, 'match': {'type': 'boolean'}, 'product': {'type': 'object', 'required': ['brand', 'style', 'availability', 'price_usd', 'product_url', 'preorder_available', 'notify_url'], 'properties': {'brand': {'type': 'string'}, 'color': {'type': 'string'}, 'style': {'type': 'string'}, 'price_usd': {'type': 'number'}, 'notify_url': {'type': 'string'}, 'eta_display': {'type': 'string'}, 'product_url': {'type': 'string'}, 'availability': {'enum': ['in_stock', 'out_of_stock', 'backordered', 'discontinued'], 'type': 'string'}, 'restock_eta_week': {'type': 'string'}, 'preorder_available': {'type': 'boolean'}, 'ships_today_cutoff': {'type': 'string'}, 'compare_at_price_usd': {'type': 'number'}}, 'additionalProperties': {}}, 'retailer': {'type': 'string'}, 'next_step': {'type': 'object', 'required': ['tool', 'reason'], 'properties': {'tool': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': {}}, 'did_you_mean': {'type': 'array', 'items': {'type': 'object', 'required': ['brand', 'style'], 'properties': {'brand': {'type': 'string'}, 'color': {'type': 'string'}, 'style': {'type': 'string'}}, 'additionalProperties': {}}}, 'supported_brands': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': {}}
추가됨
color_crossmatch
2026년 9월 29일 2:46 AM
추가됨
get_restock_eta
2026년 9월 29일 2:46 AM
추가됨
check_stock
2026년 9월 29일 2:46 AM