MCP-Server

store

com.bolotstudio/store
Commerce & Retail Design & Kreativ Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Supports discovery and comparison of custom metal-print products, reviews, shipping, photo-resolution requirements, policies, and configurator links.

check_photo_compatibility
Check Photo Compatibility
Check whether supplied pixel dimensions meet the print-contract 120 DPI hard gate used by upload. Returns per-size required_px. Crop and artefacts are still reviewed in the configurator. With a delivery country, also lists market-visible wall formats. If width/height are omitted, reports that suitability cannot be verified without dimensions.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'width': {'type': 'integer', 'maximum': 30000, 'description': 'Photo width in pixels', 'exclusiveMinimum': 0}, 'format': {'type': 'string', 'maxLength': 500, 'description': "Image format (e.g. 'jpeg', 'png', 'heic', 'webp')"}, 'height': {'type': 'integer', 'maximum': 30000, 'description': 'Photo height in pixels', 'exclusiveMinimum': 0}, 'country': {'type': 'string', 'maxLength': 3, 'description': 'Delivery country as ISO alpha-2 or alpha-3. Required before market-visible print formats can be shown.'}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string'}, 'photo': {'type': 'object', 'required': ['width', 'height', 'format', 'megapixels'], 'properties': {'width': {'type': 'number'}, 'format': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'height': {'type': 'number'}, 'megapixels': {'type': 'number'}}, 'additionalProperties': False}, 'market': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'message': {'type': 'string'}, 'format_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'recommendation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'review_factors': {'type': 'array', 'items': {'type': 'string'}}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'assessment_status': {'enum': ['destination_required', 'dimensions_required', 'requires_configurator_review', 'product_unavailable', 'incompatible', 'too_large'], 'type': 'string'}, 'configurator_note': {'type': 'string'}, 'resolution_status': {'enum': ['compatible', 'incompatible', 'mixed', 'too_large', 'unknown'], 'type': 'string'}, 'recommended_format': {'type': 'null'}, 'resolution_by_size': {'type': 'array', 'items': {'type': 'object', 'required': ['size', 'orientation', 'status', 'required_px', 'recommended_px'], 'properties': {'size': {'type': 'string'}, 'status': {'enum': ['ok', 'warn', 'fail'], 'type': 'string'}, 'orientation': {'enum': ['landscape', 'portrait'], 'type': 'string'}, 'required_px': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'additionalProperties': False}, 'recommended_px': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'available_print_formats': {'type': 'array', 'items': {'type': 'object', 'required': ['product', 'size', 'label', 'dimensions_cm'], 'properties': {'size': {'type': 'string'}, 'label': {'type': 'string'}, 'product': {'type': 'string'}, 'resolution': {'enum': ['ok', 'warn', 'fail'], 'type': 'string'}, 'required_px': {'type': 'object', 'required': ['landscape', 'portrait'], 'properties': {'portrait': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'additionalProperties': False}, 'landscape': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'dimensions_cm': {'type': 'string'}, 'technical_size': {'type': 'string'}}, 'additionalProperties': False}}, 'compatibility_determined': {'type': 'boolean'}, 'supported_upload_formats': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
check_photo_compatibility_task
Check Photo Compatibility Task
Task-based photo-resolution check against the print-contract 120 DPI hard gate used by upload. Omit width/height to report that suitability cannot be verified without dimensions.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'width': {'type': 'integer', 'maximum': 30000, 'description': 'Photo width in pixels', 'exclusiveMinimum': 0}, 'format': {'type': 'string', 'maxLength': 500, 'description': "Image format (e.g. 'jpeg', 'png', 'heic', 'webp')"}, 'height': {'type': 'integer', 'maximum': 30000, 'description': 'Photo height in pixels', 'exclusiveMinimum': 0}, 'country': {'type': 'string', 'maxLength': 3, 'description': 'Delivery country as ISO alpha-2 or alpha-3. Required before market-visible print formats can be shown.'}}}
compare_products
Compare Products
Compare Bolot Studio products — Legacy Print vs Cinematic Print, or Bolot vs competitors (Displate, Canvas, Framed prints).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['comparison_type'], 'properties': {'locale': {'type': 'string', 'maxLength': 5, 'description': "Locale code for localized URLs (e.g. 'en', 'pl', 'de')"}, 'country': {'type': 'string', 'maxLength': 3, 'description': "ISO 3166-1 alpha-2 or alpha-3 country code for localized URLs (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR')"}, 'product_handle': {'type': 'string', 'maxLength': 500, 'description': "Product handle for competitor comparison (defaults to 'the-legacy-print')"}, 'comparison_type': {'enum': ['legacy_vs_cinematic', 'vs_competitors'], 'type': 'string', 'description': 'Type of comparison'}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string'}, 'market': {'type': 'string'}, 'message': {'type': 'string'}, 'product': {'type': 'string'}, 'category': {'type': 'string'}, 'comparison': {'type': 'string'}, 'legacy_print': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'sustainability': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'vs_competitors': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'key_differences'], 'properties': {'name': {'type': 'string'}, 'key_differences': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'cinematic_print': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'differentiators': {'type': 'array', 'items': {'type': 'object', 'required': ['feature', 'value', 'competitor_typical'], 'properties': {'value': {'anyOf': [{'type': 'string'}, {'type': 'boolean'}]}, 'feature': {'type': 'string'}, 'competitor_typical': {'anyOf': [{'type': 'string'}, {'type': 'boolean'}]}}, 'additionalProperties': False}}, 'shared_features': {'type': 'array', 'items': {'type': 'string'}}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'quality_assurance': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'wall_art_launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
get_product_recommendations
Get Product Recommendations
Get personalized product and variant recommendations based on customer intent, budget, recipient profile, room type, and lighting conditions.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['intent'], 'properties': {'budget': {'type': 'number', 'maximum': 1000000, 'description': 'Maximum budget in EUR', 'exclusiveMinimum': 0}, 'intent': {'type': 'string', 'maxLength': 500, 'description': 'Customer intent: gift, home_decor, valentines, birthday_50, memorial, desk_display, home_cinema, etc.'}, 'locale': {'type': 'string', 'maxLength': 5, 'description': "Locale code for localized URLs (e.g. 'en', 'pl', 'de')"}, 'country': {'type': 'string', 'maxLength': 3, 'description': "ISO 3166-1 alpha-2 or alpha-3 country code for geo-pricing (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR')"}, 'lighting': {'type': 'string', 'maxLength': 500, 'description': 'Room lighting: bright, dim, mixed'}, 'room_type': {'type': 'string', 'maxLength': 500, 'description': 'Room type: living_room, bedroom, office, bathroom, kitchen, entertainment_room'}, 'recipient_profile': {'type': 'string', 'maxLength': 500, 'description': 'Who is this for: partner, mother, father, man_who_has_everything, woman, couple, pet_lover, photographer, movie_fan'}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'note': {'type': 'string'}, 'error': {'type': 'string'}, 'message': {'type': 'string'}, 'room_advice': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'finish_advice': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'total_matches': {'type': 'number'}, 'recommendations': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'active_promotions': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'wall_art_launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'address_sign_launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
get_reviews_summary
Get Reviews Summary
Get aggregated customer review statistics and featured review excerpts. Use this when a customer asks about product quality, other customers' experiences, or social proof. Returns ratings, distribution, and highlighted reviews.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'product_handle': {'type': 'string', 'maxLength': 500, 'description': "Product handle: 'the-legacy-print', 'the-cinematic-print', or 'the-address-sign'. Omit for store-wide stats."}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'note': {'type': 'string'}, 'error': {'type': 'string'}, 'scope': {'type': 'string'}, 'source': {'type': 'string'}, 'message': {'type': 'string'}, 'available': {'type': 'boolean'}, 'total_reviews': {'type': 'number'}, 'average_rating': {'type': 'number'}, 'review_platform': {'type': 'string'}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'featured_reviews': {'type': 'array', 'items': {'type': 'object', 'required': ['author', 'rating', 'excerpt', 'verified'], 'properties': {'author': {'type': 'string'}, 'rating': {'type': 'number'}, 'excerpt': {'type': 'string'}, 'verified': {'type': 'boolean'}}, 'additionalProperties': False}}, 'verified_purchase_count': {'type': 'number'}}, 'additionalProperties': False}
get_shipping_estimate
Get Shipping Estimate
Get estimated delivery time, free shipping threshold, and carrier information for a specific country. Use this when a customer asks about shipping costs or delivery times to their location.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['country_code'], 'properties': {'country_code': {'type': 'string', 'maxLength': 3, 'minLength': 2, 'description': "ISO 3166-1 alpha-2 or alpha-3 country code (e.g. 'PL', 'DE', 'GB', 'FR', 'DEU', 'GBR')"}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string'}, 'carrier': {'type': 'string'}, 'message': {'type': 'string'}, 'returns': {'type': 'string'}, 'tracking': {'type': 'string'}, 'supported': {'type': 'boolean'}, 'country_code': {'type': 'string'}, 'free_shipping': {'type': 'string'}, 'shipping_cost': {'type': 'object', 'required': ['flat_amount_minor', 'free_threshold_minor', 'currency'], 'properties': {'currency': {'type': 'string'}, 'flat_amount_minor': {'type': 'number'}, 'free_threshold_minor': {'type': 'number'}}, 'additionalProperties': False}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'delivery_estimate': {'type': 'string'}, 'manufacturing_note': {'type': 'string'}, 'supported_countries': {'type': 'array', 'items': {'type': 'string'}}, 'total_estimated_time': {'type': 'string'}, 'wall_art_launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'tax_duty_handling_note': {'type': 'string'}, 'address_sign_launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'tax_duty_handling_setup_dependent': {'type': 'boolean'}}, 'additionalProperties': False}
get_store_info
Get Store Info
Get Bolot Studio brand information, shipping zones, payment methods, and configurator URLs. Essential context for helping customers.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'locale': {'type': 'string', 'maxLength': 5, 'description': 'Locale code used when country is not supplied'}, 'country': {'type': 'string', 'maxLength': 3, 'description': "ISO 3166-1 alpha-2 or alpha-3 country code for market-visible catalog sizes/prices (e.g. 'DE', 'DEU')"}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'b2b': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'brand': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'market': {'type': 'string'}, 'message': {'type': 'string'}, 'products': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'policy_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'finish_guide': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'free_shipping': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'sustainability': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'payment_methods': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'active_promotions': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'configurator_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'quality_assurance': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'agent_instructions': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'shipping_by_country': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'wall_art_launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'address_sign_launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
search_policies_and_faqs
Search Policies and FAQs
Search Bolot Studio FAQs and store policies. Covers product questions, sizing, finishes, shipping, returns, and ordering.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 500, 'description': "Search query (e.g. 'returns', 'shipping to Germany', 'matte vs glossy', 'desk stand')"}, 'locale': {'type': 'string', 'maxLength': 5, 'description': "Locale code for localized policy URLs (e.g. 'en', 'pl', 'de')"}, 'country': {'type': 'string', 'maxLength': 3, 'description': "ISO 3166-1 alpha-2 or alpha-3 country code for locale-aware policy URLs (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR')"}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'faqs': {'type': 'array', 'items': {'type': 'object', 'required': ['question', 'answer'], 'properties': {'answer': {'type': 'string'}, 'locale': {'type': 'string'}, 'source': {'enum': ['faq_page', 'product_faq', 'guarantee'], 'type': 'string'}, 'product': {'type': 'string'}, 'question': {'type': 'string'}}, 'additionalProperties': False}}, 'error': {'type': 'string'}, 'locale': {'type': 'string'}, 'message': {'type': 'string'}, 'policy_links': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'total_matches': {'type': 'number'}, 'locale_fallback': {'type': 'boolean'}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'returned_matches': {'type': 'number'}, 'shipping_by_country': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
search_products
Search Products
Search and browse Bolot Studio custom metal photo prints. Returns a compact product card by default — handle, title, short description, price/compareAtPrice, availability, variants (name/size/price/availability), one image, and the product URL — for every result. For ONE product (pass `handle`), add `detail: true` to also get the AI summary, use cases, FAQs, competitive positioning, social proof, gallery, shipping zones, and guarantee/returns/quality-assurance detail; every response, compact or detailed, is capped to the server's response size limit.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'maxLength': 500, 'description': "Search term (e.g. 'metal print', 'gift', 'cinematic')"}, 'detail': {'type': 'boolean', 'description': "Only used together with `handle` (single-product lookup). When true, returns the full enriched product record — AI summary, use cases, FAQs, competitive positioning, social proof, gallery, shipping zones, guarantee/returns/quality-assurance detail — for that ONE product, still capped to the server's response size limit. Default false returns the compact card shape (handle, title, short description, price, variants, one image, product URL) that every search and every default single-product lookup uses."}, 'handle': {'type': 'string', 'maxLength': 500, 'description': "Product handle: 'the-legacy-print', 'the-cinematic-print', or 'the-address-sign'"}, 'locale': {'type': 'string', 'maxLength': 5, 'description': "Locale code for localized URLs (e.g. 'en', 'pl', 'de')"}, 'country': {'type': 'string', 'maxLength': 3, 'description': "ISO 3166-1 alpha-2 or alpha-3 country code for geo-pricing (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR')"}, 'locale_contract': {'enum': ['legacy', 'strict'], 'type': 'string', 'description': 'Language-resolution contract. Legacy discloses multilingual-country ambiguity; strict requires an explicit locale.'}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'b2b': {'type': 'object', 'required': ['available', 'programs', 'contact_email', 'contact_subject', 'b2b_page_url', 'vat_invoicing'], 'properties': {'programs': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'min_order', 'description'], 'properties': {'name': {'type': 'string'}, 'min_order': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'available': {'type': 'boolean'}, 'b2b_page_url': {'type': 'string'}, 'contact_email': {'type': 'string'}, 'vat_invoicing': {'type': 'boolean'}, 'contact_subject': {'type': 'string'}}, 'additionalProperties': False}, 'url': {'type': 'string'}, 'faqs': {'type': 'array', 'items': {'type': 'object', 'required': ['question', 'answer'], 'properties': {'answer': {'type': 'string'}, 'question': {'type': 'string'}}, 'additionalProperties': False}}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'tool': {'type': 'string'}, 'error': {'type': 'string'}, 'price': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'total': {'type': 'number'}, 'handle': {'type': 'string'}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'altText', 'width', 'height'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'altText': {'type': 'string'}}, 'additionalProperties': False}}, 'market': {'type': 'string'}, 'reason': {'type': 'string'}, 'vendor': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'gallery': {'type': 'object', 'required': ['product_shots', 'lifestyle', 'size_comparison', 'mounting_detail', 'close_up'], 'properties': {'close_up': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'alt'], 'properties': {'alt': {'type': 'string'}, 'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'context': {'type': 'string'}}, 'additionalProperties': False}}, 'lifestyle': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'alt'], 'properties': {'alt': {'type': 'string'}, 'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'context': {'type': 'string'}}, 'additionalProperties': False}}, 'product_shots': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'alt'], 'properties': {'alt': {'type': 'string'}, 'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'context': {'type': 'string'}}, 'additionalProperties': False}}, 'mounting_detail': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'alt'], 'properties': {'alt': {'type': 'string'}, 'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'context': {'type': 'string'}}, 'additionalProperties': False}}, 'size_comparison': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'alt'], 'properties': {'alt': {'type': 'string'}, 'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'context': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'gifting': {'type': 'object', 'required': ['is_giftable', 'gift_wrapping', 'gift_message', 'budget_tiers'], 'properties': {'is_giftable': {'type': 'boolean'}, 'budget_tiers': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'variant', 'from', 'currency'], 'properties': {'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'label': {'type': 'string'}, 'variant': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'gift_message': {'type': 'boolean'}, 'gift_wrapping': {'type': 'boolean'}}, 'additionalProperties': False}, 'message': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'values'], 'properties': {'name': {'type': 'string'}, 'values': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'product': {'type': 'string'}, 'returns': {'type': 'object', 'required': ['days', 'type', 'freeReturns', 'changeOfMindReturns', 'qualityIssueReportingTiming', 'qualityIssueReportingHasSeparateDeadline', 'merchantPaidVerifiedIssueReturns'], 'properties': {'days': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'type': {'type': 'string', 'const': 'statutory_remedies_personalized_goods'}, 'process': {'type': 'string'}, 'coverage': {'type': 'string'}, 'legalBasis': {'type': 'string'}, 'freeReturns': {'type': 'boolean', 'const': False}, 'eligibleReasons': {'type': 'array', 'items': {'type': 'string'}}, 'excludedReasons': {'type': 'array', 'items': {'type': 'string'}}, 'seasonal_override': {'type': 'object', 'required': ['period', 'days', 'description'], 'properties': {'days': {'type': 'number'}, 'period': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}, 'additionalProperties': False}, 'description': {'type': 'string'}}, 'additionalProperties': False}, 'changeOfMindReturns': {'type': 'string', 'const': 'not_offered_for_personalized_goods'}, 'personalizedGoodsExemption': {'type': 'boolean'}, 'qualityIssueReportingTiming': {'type': 'string', 'const': 'promptly_after_discovery'}, 'merchantPaidVerifiedIssueReturns': {'type': 'boolean', 'const': True}, 'qualityIssueReportingHasSeparateDeadline': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'material': {'type': 'object', 'required': ['type', 'thickness', 'process', 'mounting'], 'properties': {'type': {'type': 'string'}, 'process': {'type': 'string'}, 'mounting': {'type': 'string'}, 'thickness': {'type': 'string'}}, 'additionalProperties': False}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'title', 'description', 'price', 'compareAtPrice', 'availability', 'images', 'featuredImage', 'variants', 'size_prices', 'options', 'tags', 'productType', 'vendor', 'shipping', 'customization', 'product_nature', 'material', 'url'], 'properties': {'b2b': {'type': 'object', 'required': ['available', 'programs', 'contact_email', 'contact_subject', 'b2b_page_url', 'vat_invoicing'], 'properties': {'programs': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'min_order', 'description'], 'properties': {'name': {'type': 'string'}, 'min_order': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'available': {'type': 'boolean'}, 'b2b_page_url': {'type': 'string'}, 'contact_email': {'type': 'string'}, 'vat_invoicing': {'type': 'boolean'}, 'contact_subject': {'type': 'string'}}, 'additionalProperties': False}, 'url': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'price': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'handle': {'type': 'string'}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'altText', 'width', 'height'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'altText': {'type': 'string'}}, 'additionalProperties': False}}, 'vendor': {'type': 'string'}, 'gifting': {'type': 'object', 'required': ['is_giftable', 'gift_wrapping', 'gift_message', 'budget_tiers'], 'properties': {'is_giftable': {'type': 'boolean'}, 'budget_tiers': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'variant', 'from', 'currency'], 'properties': {'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'label': {'type': 'string'}, 'variant': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'gift_message': {'type': 'boolean'}, 'gift_wrapping': {'type': 'boolean'}}, 'additionalProperties': False}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'values'], 'properties': {'name': {'type': 'string'}, 'values': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'material': {'type': 'object', 'required': ['type', 'thickness', 'process', 'mounting'], 'properties': {'type': {'type': 'string'}, 'process': {'type': 'string'}, 'mounting': {'type': 'string'}, 'thickness': {'type': 'string'}}, 'additionalProperties': False}, 'shipping': {'type': 'object', 'required': ['freeAbove', 'estimatedDays', 'zones', 'productionDays'], 'properties': {'zones': {'type': 'array', 'items': {'type': 'string'}}, 'freeAbove': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'estimatedDays': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}}, 'additionalProperties': False}, 'productionDays': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'variants': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'sku', 'price', 'compareAtPrice', 'availability', 'options', 'image'], 'properties': {'sku': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'image': {'anyOf': [{'type': 'object', 'required': ['url', 'altText', 'width', 'height'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'altText': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'value'], 'properties': {'name': {'type': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}}, 'dimensions': {'type': 'object', 'required': ['width_cm', 'height_cm'], 'properties': {'width_cm': {'type': 'number'}, 'height_cm': {'type': 'number'}}, 'additionalProperties': False}, 'availability': {'enum': ['in_stock', 'out_of_stock', 'preorder'], 'type': 'string'}, 'compareAtPrice': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'description': {'type': 'string'}, 'launch_gate': {'type': 'object', 'required': ['availability', 'reason', 'message', 'required_compliance_gate', 'supports_agent_checkout', 'checkout_phase'], 'properties': {'reason': {'type': 'string'}, 'message': {'type': 'string'}, 'availability': {'type': 'string', 'const': 'not_available'}, 'checkout_phase': {'type': 'string', 'const': 'blocked'}, 'supports_agent_checkout': {'type': 'boolean', 'const': False}, 'required_compliance_gate': {'type': 'string'}}, 'additionalProperties': False}, 'productType': {'type': 'string'}, 'size_prices': {'type': 'array', 'items': {'type': 'object', 'required': ['size', 'amount', 'currency'], 'properties': {'size': {'type': 'string'}, 'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}}, 'availability': {'enum': ['in_stock', 'out_of_stock', 'preorder'], 'type': 'string'}, 'finish_guide': {'type': 'object', 'required': ['options', 'decision_rule'], 'properties': {'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'description', 'best_for', 'avoid_for'], 'properties': {'name': {'type': 'string'}, 'best_for': {'type': 'array', 'items': {'type': 'string'}}, 'avoid_for': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'decision_rule': {'type': 'string'}}, 'additionalProperties': False}, 'customization': {'anyOf': [{'type': 'object', 'required': ['required', 'type', 'description', 'image_upload', 'crop_tool', 'three_d_preview', 'configurator_url', 'ordering_flow', 'checkout_attribute'], 'properties': {'type': {'type': 'string'}, 'required': {'type': 'boolean'}, 'crop_tool': {'type': 'boolean'}, 'description': {'type': 'string'}, 'image_upload': {'type': 'object', 'required': ['required', 'formats', 'max_file_size', 'min_resolution', 'recommended_resolution'], 'properties': {'formats': {'type': 'array', 'items': {'type': 'string'}}, 'required': {'type': 'boolean'}, 'max_file_size': {'type': 'string'}, 'min_resolution': {'type': 'object', 'required': ['width', 'height'], 'properties': {'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': False}, 'recommended_resolution': {'type': 'object', 'required': ['width', 'height'], 'properties': {'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'ordering_flow': {'type': 'array', 'items': {'type': 'string'}}, 'three_d_preview': {'type': 'boolean'}, 'configurator_url': {'type': 'string'}, 'checkout_attribute': {'type': 'object', 'required': ['key', 'description', 'required'], 'properties': {'key': {'type': 'string'}, 'required': {'type': 'boolean'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'featuredImage': {'anyOf': [{'type': 'object', 'required': ['url', 'altText', 'width', 'height'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'altText': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'compareAtPrice': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'product_nature': {'type': 'string'}, 'active_promotions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'title', 'description', 'qualifying_variants', 'active'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'terms': {'type': 'string'}, 'title': {'type': 'string'}, 'active': {'type': 'boolean'}, 'gift_value': {'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'qualifying_variants': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'shipping': {'type': 'object', 'required': ['freeAbove', 'estimatedDays', 'zones', 'productionDays'], 'properties': {'zones': {'type': 'array', 'items': {'type': 'string'}}, 'freeAbove': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'estimatedDays': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}}, 'additionalProperties': False}, 'productionDays': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'variants': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'sku', 'price', 'compareAtPrice', 'availability', 'options', 'image'], 'properties': {'sku': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'image': {'anyOf': [{'type': 'object', 'required': ['url', 'altText', 'width', 'height'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'altText': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'value'], 'properties': {'name': {'type': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}}, 'dimensions': {'type': 'object', 'required': ['width_cm', 'height_cm'], 'properties': {'width_cm': {'type': 'number'}, 'height_cm': {'type': 'number'}}, 'additionalProperties': False}, 'availability': {'enum': ['in_stock', 'out_of_stock', 'preorder'], 'type': 'string'}, 'compareAtPrice': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'guarantee': {'type': 'object', 'required': ['type', 'publication_status', 'customer_scope', 'country_scope', 'duration_years', 'starts', 'coverage', 'remedies', 'accepted_claim_costs', 'discontinued_exact_material_or_component', 'performance_timing', 'mandatory_period_adjustments', 'reasonable_evidence_may_be_requested', 'voluntary_guarantee_exclusions', 'claim_process', 'retained_image_deletion_effect', 'mandatory_statutory_rights', 'policy_url', 'policy_selector', 'terms_document_count', 'terms_version', 'description'], 'properties': {'type': {'type': 'string', 'const': 'voluntary_commercial_guarantee'}, 'starts': {'type': 'string', 'const': 'delivery'}, 'coverage': {'type': 'array', 'items': {'type': 'string'}}, 'remedies': {'type': 'array', 'items': {'type': 'string'}}, 'policy_url': {'type': 'string'}, 'description': {'type': 'string'}, 'claim_process': {'type': 'string'}, 'country_scope': {'type': 'string', 'const': 'all_served_countries'}, 'terms_version': {'type': 'string'}, 'customer_scope': {'type': 'array', 'items': {'enum': ['B2C', 'B2B'], 'type': 'string'}}, 'duration_years': {'type': 'number', 'const': 3}, 'policy_selector': {'type': 'object', 'required': ['url', 'url_template', 'required_inputs', 'conditionally_required_inputs', 'inference_policy'], 'properties': {'url': {'type': 'string'}, 'url_template': {'type': 'string'}, 'required_inputs': {'type': 'array', 'items': {'enum': ['country', 'locale', 'customerType'], 'type': 'string'}}, 'inference_policy': {'type': 'string', 'const': 'none'}, 'conditionally_required_inputs': {'type': 'object', 'required': ['subdivision'], 'properties': {'subdivision': {'type': 'string', 'const': 'required_when_country_is_CA'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'performance_timing': {'type': 'string'}, 'publication_status': {'type': 'string', 'const': 'active'}, 'accepted_claim_costs': {'type': 'string'}, 'terms_document_count': {'type': 'number'}, 'mandatory_statutory_rights': {'type': 'string', 'const': 'unaffected_under_governing_law'}, 'mandatory_period_adjustments': {'type': 'string'}, 'retained_image_deletion_effect': {'type': 'string'}, 'voluntary_guarantee_exclusions': {'type': 'array', 'items': {'type': 'string'}}, 'reasonable_evidence_may_be_requested': {'type': 'boolean', 'const': True}, 'discontinued_exact_material_or_component': {'type': 'string'}}, 'additionalProperties': False}, 'updatedAt': {'type': 'string'}, 'use_cases': {'type': 'array', 'items': {'type': 'object', 'required': ['occasion', 'recommended_variant', 'recommended_finish', 'price_from', 'why'], 'properties': {'why': {'type': 'string'}, 'occasion': {'type': 'string'}, 'seasonal': {'type': 'boolean'}, 'age_range': {'type': 'string'}, 'price_from': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'recipient_profile': {'type': 'string'}, 'recommended_finish': {'type': 'string'}, 'recommended_variant': {'type': 'string'}}, 'additionalProperties': False}}, 'ai_summary': {'type': 'object', 'required': ['one_liner', 'key_differentiator', 'ideal_for', 'not_ideal_for', 'decision_factors', 'requires_photo_upload', 'has_3d_preview', 'has_template_editor'], 'properties': {'ideal_for': {'type': 'array', 'items': {'type': 'string'}}, 'one_liner': {'type': 'string'}, 'not_ideal_for': {'type': 'array', 'items': {'type': 'string'}}, 'has_3d_preview': {'type': 'boolean'}, 'price_breakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['variant', 'from', 'currency'], 'properties': {'from': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'variant': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'unique_benefits': {'type': 'array', 'items': {'type': 'string'}}, 'decision_factors': {'type': 'array', 'items': {'type': 'string'}}, 'key_differentiator': {'type': 'string'}, 'has_template_editor': {'type': 'boolean'}, 'production_timeline': {'type': 'object', 'required': ['min_days', 'max_days', 'note'], 'properties': {'note': {'type': 'string'}, 'max_days': {'type': 'number'}, 'min_days': {'type': 'number'}}, 'additionalProperties': False}, 'requires_photo_upload': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'launch_gate': {'type': 'object', 'required': ['availability', 'reason', 'message', 'required_compliance_gate', 'supports_agent_checkout', 'checkout_phase'], 'properties': {'reason': {'type': 'string'}, 'message': {'type': 'string'}, 'availability': {'type': 'string', 'const': 'not_available'}, 'checkout_phase': {'type': 'string', 'const': 'blocked'}, 'supports_agent_checkout': {'type': 'boolean', 'const': False}, 'required_compliance_gate': {'type': 'string'}}, 'additionalProperties': False}, 'limit_bytes': {'type': 'number'}, 'productType': {'type': 'string'}, 'size_prices': {'type': 'array', 'items': {'type': 'object', 'required': ['size', 'amount', 'currency'], 'properties': {'size': {'type': 'string'}, 'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}}, 'availability': {'enum': ['in_stock', 'out_of_stock', 'preorder'], 'type': 'string'}, 'finish_guide': {'type': 'object', 'required': ['options', 'decision_rule'], 'properties': {'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'description', 'best_for', 'avoid_for'], 'properties': {'name': {'type': 'string'}, 'best_for': {'type': 'array', 'items': {'type': 'string'}}, 'avoid_for': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'decision_rule': {'type': 'string'}}, 'additionalProperties': False}, 'social_proof': {'type': 'object', 'required': ['aggregate_rating', 'featured_reviews', 'review_source', 'review_page_url'], 'properties': {'review_source': {'type': 'string'}, 'review_page_url': {'type': 'string'}, 'aggregate_rating': {'type': 'object', 'required': ['value', 'scale', 'review_count', 'verified_purchase_count', 'reviews_with_photos_count'], 'properties': {'scale': {'type': 'number'}, 'value': {'type': 'number'}, 'review_count': {'type': 'number'}, 'verified_purchase_count': {'type': 'number'}, 'reviews_with_photos_count': {'type': 'number'}}, 'additionalProperties': False}, 'featured_reviews': {'type': 'array', 'items': {'type': 'object', 'required': ['author', 'rating', 'body', 'verified_purchase', 'has_photo', 'date'], 'properties': {'body': {'type': 'string'}, 'date': {'type': 'string'}, 'author': {'type': 'string'}, 'rating': {'type': 'number'}, 'variant': {'type': 'string'}, 'has_photo': {'type': 'boolean'}, 'verified_purchase': {'type': 'boolean'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'customization': {'anyOf': [{'type': 'object', 'required': ['required', 'type', 'description', 'image_upload', 'crop_tool', 'three_d_preview', 'configurator_url', 'ordering_flow', 'checkout_attribute'], 'properties': {'type': {'type': 'string'}, 'required': {'type': 'boolean'}, 'crop_tool': {'type': 'boolean'}, 'description': {'type': 'string'}, 'image_upload': {'type': 'object', 'required': ['required', 'formats', 'max_file_size', 'min_resolution', 'recommended_resolution'], 'properties': {'formats': {'type': 'array', 'items': {'type': 'string'}}, 'required': {'type': 'boolean'}, 'max_file_size': {'type': 'string'}, 'min_resolution': {'type': 'object', 'required': ['width', 'height'], 'properties': {'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': False}, 'recommended_resolution': {'type': 'object', 'required': ['width', 'height'], 'properties': {'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'ordering_flow': {'type': 'array', 'items': {'type': 'string'}}, 'three_d_preview': {'type': 'boolean'}, 'configurator_url': {'type': 'string'}, 'checkout_attribute': {'type': 'object', 'required': ['key', 'description', 'required'], 'properties': {'key': {'type': 'string'}, 'required': {'type': 'boolean'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'featuredImage': {'anyOf': [{'type': 'object', 'required': ['url', 'altText', 'width', 'height'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'altText': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'ai_description': {'type': 'string'}, 'compareAtPrice': {'anyOf': [{'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'localized_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'product_nature': {'type': 'string'}, 'proof_workflow': {'type': 'object', 'required': ['applies_when', 'response_period', 'no_response_outcome', 'proof_approval_waives_nonconformity_rights', 'no_response_waives_nonconformity_rights', 'description'], 'properties': {'description': {'type': 'string'}, 'applies_when': {'type': 'string', 'const': 'bolot_studio_requests_crop_or_correction_approval'}, 'response_period': {'type': 'object', 'required': ['maximum_business_days'], 'properties': {'maximum_business_days': {'type': 'number', 'const': 5}}, 'additionalProperties': False}, 'no_response_outcome': {'type': 'string', 'const': 'produce_using_original_crop_submitted_with_order'}, 'no_response_waives_nonconformity_rights': {'type': 'boolean', 'const': False}, 'proof_approval_waives_nonconformity_rights': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'shipping_zones': {'type': 'array', 'items': {'type': 'object', 'required': ['zone', 'countries', 'delivery_days'], 'properties': {'zone': {'type': 'string'}, 'carrier': {'type': 'string'}, 'countries': {'type': 'array', 'items': {'type': 'string'}}, 'delivery_days': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'sustainability': {'type': 'object', 'required': ['material_recyclability', 'process_claims', 'packaging', 'certifications'], 'properties': {'packaging': {'type': 'string'}, 'certifications': {'type': 'array', 'items': {'type': 'string'}}, 'process_claims': {'type': 'array', 'items': {'type': 'string'}}, 'material_recyclability': {'type': 'string'}}, 'additionalProperties': False}, 'descriptionHtml': {'type': 'string'}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'active_promotions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'title', 'description', 'qualifying_variants', 'active'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'terms': {'type': 'string'}, 'title': {'type': 'string'}, 'active': {'type': 'boolean'}, 'gift_value': {'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, 'description': {'type': 'string'}, 'qualifying_variants': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'available_handles': {'type': 'array', 'items': {'type': 'string'}}, 'available_locales': {'type': 'array', 'items': {'type': 'string'}}, 'quality_assurance': {'type': 'object', 'required': ['individual_inspection', 'inspection_description', 'color_accuracy', 'production_method', 'quality_standard'], 'properties': {'defect_policy': {'type': 'string'}, 'color_accuracy': {'type': 'string'}, 'quality_standard': {'type': 'string'}, 'production_method': {'type': 'string'}, 'individual_inspection': {'type': 'boolean'}, 'inspection_description': {'type': 'string'}}, 'additionalProperties': False}, 'supported_locales': {'type': 'array', 'items': {'type': 'string'}}, 'language_ambiguity': {'type': 'object', 'required': ['country', 'default_locale', 'supported_locales', 'deprecation'], 'properties': {'country': {'type': 'string', 'const': 'CH'}, 'deprecation': {'type': 'string', 'const': 'locale_will_be_required'}, 'default_locale': {'type': 'string', 'const': 'de'}, 'supported_locales': {'type': 'array', 'items': {'enum': ['de', 'fr', 'it'], 'type': 'string'}}}, 'additionalProperties': False}, 'product_comparison': {'type': 'object', 'required': ['vs_product', 'vs_product_title', 'differences', 'when_to_choose_this', 'when_to_choose_other'], 'properties': {'vs_product': {'type': 'string'}, 'differences': {'type': 'array', 'items': {'type': 'string'}}, 'vs_product_title': {'type': 'string'}, 'when_to_choose_this': {'type': 'array', 'items': {'type': 'string'}}, 'when_to_choose_other': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'wall_art_launch_gate': {'type': 'object', 'required': ['availability', 'reason', 'message', 'required_compliance_gate', 'supports_agent_checkout', 'checkout_phase'], 'properties': {'reason': {'type': 'string'}, 'message': {'type': 'string'}, 'availability': {'type': 'string', 'const': 'not_available'}, 'checkout_phase': {'type': 'string', 'const': 'blocked'}, 'supports_agent_checkout': {'type': 'boolean', 'const': False}, 'required_compliance_gate': {'type': 'string'}}, 'additionalProperties': False}, 'configuration_contract': {'type': 'object', 'required': ['mode', 'fields', 'quote', 'completion'], 'properties': {'mode': {'type': 'string', 'const': 'hosted_configurator_handoff'}, 'quote': {'type': 'object', 'required': ['basis', 'prices'], 'properties': {'basis': {'type': 'string', 'const': 'size'}, 'prices': {'type': 'array', 'items': {'type': 'object', 'required': ['option_id', 'option_label', 'amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}, 'option_id': {'type': 'string'}, 'option_label': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'type', 'required'], 'properties': {'key': {'type': 'string'}, 'type': {'enum': ['enum', 'string', 'number'], 'type': 'string'}, 'values': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'default': {'type': 'number'}, 'maximum': {'type': 'number'}, 'minimum': {'type': 'number'}, 'required': {'type': 'boolean'}, 'max_length': {'type': 'number'}, 'const_value': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'available_when': {'type': 'object', 'required': ['field', 'equals'], 'properties': {'field': {'type': 'string'}, 'equals': {'type': 'string'}}, 'additionalProperties': False}, 'customer_selectable': {'type': 'boolean'}}, 'additionalProperties': False}}, 'completion': {'type': 'object', 'required': ['agent_checkout_supported', 'human_handoff_required', 'configurator_url'], 'properties': {'configurator_url': {'type': 'string'}, 'human_handoff_required': {'type': 'boolean', 'const': True}, 'agent_checkout_supported': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'competitive_positioning': {'type': 'object', 'required': ['category', 'differentiators', 'vs_competitors'], 'properties': {'category': {'type': 'string'}, 'vs_competitors': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'key_differences'], 'properties': {'name': {'type': 'string'}, 'key_differences': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'differentiators': {'type': 'array', 'items': {'type': 'object', 'required': ['feature', 'value', 'competitor_typical'], 'properties': {'value': {'anyOf': [{'type': 'string'}, {'type': 'boolean'}]}, 'feature': {'type': 'string'}, 'competitor_typical': {'anyOf': [{'type': 'string'}, {'type': 'boolean'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'address_sign_launch_gate': {'type': 'object', 'required': ['availability', 'reason', 'message', 'required_compliance_gate', 'supports_agent_checkout', 'checkout_phase'], 'properties': {'reason': {'type': 'string'}, 'message': {'type': 'string'}, 'availability': {'type': 'string', 'const': 'not_available'}, 'checkout_phase': {'type': 'string', 'const': 'blocked'}, 'supports_agent_checkout': {'type': 'boolean', 'const': False}, 'required_compliance_gate': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_products_task
Search Products Task
Task-based product search for long-running MCP clients. Use task polling to retrieve the result.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'maxLength': 500, 'description': "Search term (e.g. 'metal print', 'gift', 'cinematic')"}, 'detail': {'type': 'boolean', 'description': "Only used together with `handle` (single-product lookup). When true, returns the full enriched product record — AI summary, use cases, FAQs, competitive positioning, social proof, gallery, shipping zones, guarantee/returns/quality-assurance detail — for that ONE product, still capped to the server's response size limit. Default false returns the compact card shape (handle, title, short description, price, variants, one image, product URL) that every search and every default single-product lookup uses."}, 'handle': {'type': 'string', 'maxLength': 500, 'description': "Product handle: 'the-legacy-print', 'the-cinematic-print', or 'the-address-sign'"}, 'locale': {'type': 'string', 'maxLength': 5, 'description': "Locale code for localized URLs (e.g. 'en', 'pl', 'de')"}, 'country': {'type': 'string', 'maxLength': 3, 'description': "ISO 3166-1 alpha-2 or alpha-3 country code for geo-pricing (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR')"}, 'locale_contract': {'enum': ['legacy', 'strict'], 'type': 'string', 'description': 'Language-resolution contract. Legacy discloses multilingual-country ambiguity; strict requires an explicit locale.'}}}
start_configuration
Start Configuration
Generate a direct URL to the Bolot Studio product configurator with pre-selected options. Optionally pre-select size and/or finish ('matte' or 'glossy'). Valid sizes are product-specific: 'the-legacy-print' accepts 'keepsake-3-pack' (three separate 13×9 cm panels with three separate metal desk stands), 'classic' (30×20), or 'statement' (42×30); 'the-cinematic-print' accepts 'intimate' (21×14), 'classic' (30×20), or 'statement' (42×30); 'the-address-sign' uses templates and ignores size/finish.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['product_handle'], 'properties': {'size': {'enum': ['keepsake-3-pack', 'classic', 'statement', 'intimate'], 'type': 'string', 'description': "Pre-select size. Valid set depends on the product: 'the-legacy-print' → 'keepsake-3-pack', 'classic', or 'statement'; 'the-cinematic-print' → 'intimate', 'classic', or 'statement'. The retired single token 'keepsake' is never accepted."}, 'finish': {'enum': ['matte', 'glossy'], 'type': 'string', 'description': 'Pre-select finish. Not applicable to address sign.'}, 'locale': {'type': 'string', 'maxLength': 500, 'description': 'Locale code (en, de, pl, etc.)'}, 'country': {'type': 'string', 'maxLength': 3, 'description': "ISO 3166-1 alpha-2 or alpha-3 country code for market-visible product availability (e.g. 'DE', 'DEU')"}, 'product_handle': {'enum': ['the-legacy-print', 'the-cinematic-print', 'the-address-sign'], 'type': 'string', 'description': 'Product to configure'}}}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'note': {'type': 'string'}, 'error': {'type': 'string'}, 'locale': {'type': 'string'}, 'market': {'type': 'string'}, 'message': {'type': 'string'}, 'product': {'type': 'string'}, 'launch_gate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'valid_sizes': {'type': 'array', 'items': {'type': 'string'}}, 'instructions': {'type': 'string'}, 'pre_selected': {'type': 'object', 'required': ['size', 'finish'], 'properties': {'size': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'finish': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'requested_size': {'type': 'string'}, '_response_budget': {'type': 'object', 'required': ['dropped', 'limit_bytes', 'note'], 'properties': {'note': {'type': 'string'}, 'dropped': {'type': 'array', 'items': {'type': 'string'}}, 'limit_bytes': {'type': 'number'}}, 'additionalProperties': False}, 'configurator_url': {'type': 'string'}}, 'additionalProperties': False}
Geändert
search_products
1. October 2026 02:53
Hinzugefügt
check_photo_compatibility_task
17. September 2026 12:34
Hinzugefügt
search_products_task
17. September 2026 12:34
Hinzugefügt
start_configuration
17. September 2026 12:34
Hinzugefügt
get_reviews_summary
17. September 2026 12:34
Hinzugefügt
get_shipping_estimate
17. September 2026 12:34
Hinzugefügt
check_photo_compatibility
17. September 2026 12:34
Hinzugefügt
get_store_info
17. September 2026 12:34
Hinzugefügt
compare_products
17. September 2026 12:34
Hinzugefügt
search_policies_and_faqs
17. September 2026 12:34
Hinzugefügt
get_product_recommendations
17. September 2026 12:34
Hinzugefügt
search_products
17. September 2026 12:34