store
Server Details
Custom metal-print storefront: catalog search, product details, shipping, reviews. Read-only.
- Status
- Healthy
- Uptime
- 100.0% over 81 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 11 tools
Most tools target distinct customer needs, but the two `_task` variants duplicate `check_photo_compatibility` and `search_products` closely. The descriptions explain task polling, yet agents may still struggle to choose between the synchronous and task-based versions for the same operation.
All names use snake_case with a clear verb_noun pattern such as `search_products`, `get_shipping_estimate`, and `start_configuration`. The `_task` suffix is a minor deviation but is applied consistently to the two task-based tools.
Eleven tools is a reasonable size for a store-support server covering search, compatibility, comparison, reviews, shipping, policies, and configuration. The count is slightly inflated by the two duplicated task-based variants.
The pre-purchase customer journey is well covered: product discovery, detailed product info, comparisons, recommendations, reviews, shipping estimates, policies, photo compatibility, and configurator handoff. Notable gaps are post-purchase order tracking or cart/checkout operations, though ordering may be handled externally via the configurator URL.
Available Tools
11 toolscheck_photo_compatibilityCheck Photo CompatibilityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Photo width in pixels | |
| format | No | Image format (e.g. 'jpeg', 'png', 'heic', 'webp') | |
| height | No | Photo height in pixels | |
| country | No | Delivery country as ISO alpha-2 or alpha-3. Required before market-visible print formats can be shown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| photo | No | |
| market | No | |
| country | No | |
| message | No | |
| format_note | No | |
| launch_gate | No | |
| recommendation | No | |
| review_factors | No | |
| _response_budget | No | |
| assessment_status | No | |
| configurator_note | No | |
| resolution_status | No | |
| recommended_format | No | |
| resolution_by_size | No | |
| available_print_formats | No | |
| compatibility_determined | No | |
| supported_upload_formats | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/closed-world, and the description adds substantive domain behavior beyond them: the 120 DPI hard gate, per-size required_px output, country-gated market-visible formats, and the explicit fallback when dimensions are omitted. The remaining gap is that the role of 'format' on the outcome is never described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the gate and the return payoff, with the degradation case last. Dense terminology ('per-size required_px', 'print-contract') is compact but still readable; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not enumerate return values, and annotations cover the safety profile, so coverage is strong. The only hole is the unaddressed 'format' parameter, leaving one input's effect on the compatibility verdict unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description goes further by explaining that width/height are gating inputs and that omitting them yields an 'cannot be verified' result, and that country unlocks market-visible wall formats. It doesn't explain what the format parameter affects, so it isn't fully additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Check whether supplied pixel dimensions meet the print-contract 120 DPI hard gate') and scopes it precisely. It also distinguishes itself from the configurator sibling by noting that crop and artefacts are reviewed there, so an agent can separate this from the start_configuration/upload flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for use (pre-upload gate check) and states what is out of scope ('crop and artefacts are still reviewed in the configurator'), plus a conditional path for supplying country. It does not explicitly name a named alternative tool to call instead, which keeps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_photo_compatibility_taskCheck Photo Compatibility TaskBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Photo width in pixels | |
| format | No | Image format (e.g. 'jpeg', 'png', 'heic', 'webp') | |
| height | No | Photo height in pixels | |
| country | No | Delivery country as ISO alpha-2 or alpha-3. Required before market-visible print formats can be shown. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It usefully discloses the 120 DPI hard gate and the behavior when width/height are omitted: suitability cannot be verified. However, it leaves important behavior undisclosed, such as whether this is an asynchronous background task, whether it has side effects, and what the report returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, dense sentences with no fluff. The core rule is front-loaded, and the omit-instruction is concise but meaningful. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations and no output schema, so the description must compensate. It does not explain what the returned report contains, how the task is executed, or how it relates to 'check_photo_compatibility'. For a task-named tool with up to four parameters, these are notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining that width/height should be omitted to signal that verification is impossible without dimensions, giving the agent actionable parameter-level knowledge not available from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource (photo compatibility) and the specific action (resolution check) against a concrete, meaningful rule: the print-contract 120 DPI hard gate used by upload. It does not, however, explicitly differentiate this from the sibling tool 'check_photo_compatibility', other than the 'Task-based' prefix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this task variant versus the non-task sibling 'check_photo_compatibility', nor does it state when this tool is preferred. 'Used by upload' provides some context, and the omit-width/height instruction explains input behavior, but not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_productsCompare ProductsARead-onlyIdempotentInspect
Compare Bolot Studio products — Legacy Print vs Cinematic Print, or Bolot vs competitors (Displate, Canvas, Framed prints).
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Locale code for localized URLs (e.g. 'en', 'pl', 'de') | |
| country | No | ISO 3166-1 alpha-2 or alpha-3 country code for localized URLs (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR') | |
| product_handle | No | Product handle for competitor comparison (defaults to 'the-legacy-print') | |
| comparison_type | Yes | Type of comparison |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| market | No | |
| message | No | |
| product | No | |
| category | No | |
| comparison | No | |
| legacy_print | No | |
| sustainability | No | |
| vs_competitors | No | |
| cinematic_print | No | |
| differentiators | No | |
| shared_features | No | |
| _response_budget | No | |
| quality_assurance | No | |
| wall_art_launch_gate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context beyond that — nothing about what the comparison returns, how locale/country affect the result, or that competitor comparisons are limited to the named brands.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the two supported comparison modes are the first thing read. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full schema coverage and read-only annotations, the description only needs to convey scope and it does. Minor gap: it never notes that the tool produces localized comparison page URLs keyed by locale/country, which is the main reason those two parameters exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description genuinely adds meaning by naming the concrete subject of each enum value (Legacy vs Cinematic, and Bolot vs Displate/Canvas/Framed). That lets an agent pick comparison_type without reverse-engineering the enum tokens.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Compare') and resource ('Bolot Studio products') and enumerates the two comparison families, which map directly onto the legacy_vs_cinematic and vs_competitors enum values. It does not explicitly distinguish itself from siblings like search_products or get_product_recommendations, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when you need a Legacy vs Cinematic comparison or a Bolot vs competitor comparison), but it never states exclusions or points to an alternative tool. An agent must infer that SEO/comparison-page content is the intent rather than generic product lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_product_recommendationsGet Product RecommendationsBRead-onlyIdempotentInspect
Get personalized product and variant recommendations based on customer intent, budget, recipient profile, room type, and lighting conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| budget | No | Maximum budget in EUR | |
| intent | Yes | Customer intent: gift, home_decor, valentines, birthday_50, memorial, desk_display, home_cinema, etc. | |
| locale | No | Locale code for localized URLs (e.g. 'en', 'pl', 'de') | |
| country | No | ISO 3166-1 alpha-2 or alpha-3 country code for geo-pricing (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR') | |
| lighting | No | Room lighting: bright, dim, mixed | |
| room_type | No | Room type: living_room, bedroom, office, bathroom, kitchen, entertainment_room | |
| recipient_profile | No | Who is this for: partner, mother, father, man_who_has_everything, woman, couple, pet_lover, photographer, movie_fan |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| error | No | |
| message | No | |
| room_advice | No | |
| finish_advice | No | |
| total_matches | No | |
| recommendations | No | |
| _response_budget | No | |
| active_promotions | No | |
| wall_art_launch_gate | No | |
| address_sign_launch_gate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and closed-world, so safety is covered. The description adds only that recommendations are personalized per the listed signals; it says nothing about result count, ranking behavior, or whether omitted signals degrade quality — extra context that would be genuinely useful here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is arguably too short rather than too long, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and full parameter documentation are already structured, so the description needn't explain returns. The gaps are the missing sibling differentiation and any note on how optional signals affect results — an agent can call it correctly but not confidently choose it over search_products.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with per-field descriptions and value examples, so the schema carries parameter meaning. The description merely restates the same field names without adding format, defaults, or interaction semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('personalized product and variant recommendations') and enumerates the personalization signals it uses. It is reasonably distinguishable from search_products by the word 'personalized', but it never names or contrasts with that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance: it doesn't say to prefer this over search_products, when recommendations are inappropriate, or what happens when optional signals are omitted. The list of input factors implies usage but gives no routing rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reviews_summaryGet Reviews SummaryARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_handle | No | Product handle: 'the-legacy-print', 'the-cinematic-print', or 'the-address-sign'. Omit for store-wide stats. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| error | No | |
| scope | No | |
| source | No | |
| message | No | |
| available | No | |
| total_reviews | No | |
| average_rating | No | |
| review_platform | No | |
| _response_budget | No | |
| featured_reviews | No | |
| verified_purchase_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering safety and idempotency. The description adds useful return semantics ('Returns ratings, distribution, and highlighted reviews') and the notion of 'featured' excerpts, which go beyond the schema. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no filler. The first sentence states the action, the second gives usage guidance, and the third lists return components. Every sentence contributes value and the structure is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has a single optional parameter, a rich output schema, and strong annotations. The description adds the practical use case and return summary, making it complete for selection and invocation. No further explanation of return values is needed given the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description is detailed ('Product handle: ... Omit for store-wide stats.') The tool description itself does not add parameter-related meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Get aggregated customer review statistics and featured review excerpts.' It clearly distinguishes this tool from siblings like search_products or compare_products by focusing on review aggregation and social proof.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-to-use context: 'Use this when a customer asks about product quality, other customers' experiences, or social proof.' However, it does not explicitly mention when not to use it or name alternative tools, stopping short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shipping_estimateGet Shipping EstimateARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| country_code | Yes | ISO 3166-1 alpha-2 or alpha-3 country code (e.g. 'PL', 'DE', 'GB', 'FR', 'DEU', 'GBR') |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| carrier | No | |
| message | No | |
| returns | No | |
| tracking | No | |
| supported | No | |
| country_code | No | |
| free_shipping | No | |
| shipping_cost | No | |
| _response_budget | No | |
| delivery_estimate | No | |
| manufacturing_note | No | |
| supported_countries | No | |
| total_estimated_time | No | |
| wall_art_launch_gate | No | |
| tax_duty_handling_note | No | |
| address_sign_launch_gate | No | |
| tax_duty_handling_setup_dependent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds output details (delivery time, threshold, carrier) but does not disclose edge cases or error behavior. Adequate given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and outputs, then usage guidance. No filler words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, an output schema, and strong annotations, the description provides essential purpose, scope, and usage context. It is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description covers country_code with ISO 3166-1 alpha-2/alpha-3 examples, achieving 100% coverage. Description adds no additional parameter meaning beyond reinforcing the country scope, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb 'Get' with three concrete outputs (delivery time, free shipping threshold, carrier information) scoped to a specific country, clearly distinguishing it from sibling tools like product search or store info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes explicit usage instruction 'Use this when a customer asks about shipping costs or delivery times to their location,' providing clear context. It doesn't mention alternatives or exclusions, but no direct sibling alternative exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_store_infoGet Store InfoARead-onlyIdempotentInspect
Get Bolot Studio brand information, shipping zones, payment methods, and configurator URLs. Essential context for helping customers.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Locale code used when country is not supplied | |
| country | No | ISO 3166-1 alpha-2 or alpha-3 country code for market-visible catalog sizes/prices (e.g. 'DE', 'DEU') |
Output Schema
| Name | Required | Description |
|---|---|---|
| b2b | No | |
| brand | No | |
| error | No | |
| market | No | |
| message | No | |
| products | No | |
| policy_urls | No | |
| finish_guide | No | |
| free_shipping | No | |
| sustainability | No | |
| payment_methods | No | |
| _response_budget | No | |
| active_promotions | No | |
| configurator_urls | No | |
| quality_assurance | No | |
| agent_instructions | No | |
| shipping_by_country | No | |
| wall_art_launch_gate | No | |
| address_sign_launch_gate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description does not need to restate safety. It adds value by enumerating the exact content categories returned (brand info, shipping zones, payment methods, configurator URLs), which goes beyond the tool name. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the key value and free of fluff. 'Essential context for helping customers' is brief and meaningful, though slightly vague.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations cover safety, the description sufficiently lists the data categories covered. It is complete enough for an agent to know what to expect, though it could slightly benefit from noting locale/country influence on returned data (already captured in schema).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full descriptions for both parameters (locale and country), including examples and semantics. The description does not add parameter-level detail, but the schema's 100% coverage makes this acceptable baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Bolot Studio brand information, shipping zones, payment methods, and configurator URLs, using a specific verb ('Get') and resource scope. This distinguishes it from sibling tools like search_policies_and_faqs or get_product_recommendations, which focus on other domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a general context—'Essential context for helping customers'—implying when to use the tool, but it does not explicitly state when to use it over alternatives or any exclusion criteria. Sibling tools are not named or contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_policies_and_faqsSearch Policies and FAQsARead-onlyIdempotentInspect
Search Bolot Studio FAQs and store policies. Covers product questions, sizing, finishes, shipping, returns, and ordering.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (e.g. 'returns', 'shipping to Germany', 'matte vs glossy', 'desk stand') | |
| locale | No | Locale code for localized policy URLs (e.g. 'en', 'pl', 'de') | |
| country | No | ISO 3166-1 alpha-2 or alpha-3 country code for locale-aware policy URLs (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR') |
Output Schema
| Name | Required | Description |
|---|---|---|
| faqs | No | |
| error | No | |
| locale | No | |
| message | No | |
| policy_links | No | |
| total_matches | No | |
| locale_fallback | No | |
| _response_budget | No | |
| returned_matches | No | |
| shipping_by_country | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true, so the safety profile is clear. The description adds no extra behavioral context like pagination, authentication, or locale-specific behavior, but it does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states purpose and key coverage topics. No filler words or redundant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity of a search tool, the presence of an output schema, and strong annotations, the description sufficiently captures the tool's purpose and scope. It clearly defines what is searched and which topics are covered, with no missing critical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (query, locale, country) already described with examples. The description does not add additional parameter semantics beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Bolot Studio FAQs and store policies, with a specific verb and resource. It also lists coverage areas (product questions, sizing, finishes, shipping, returns, ordering) that distinguish it from sibling product search tools like search_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for policy/FAQ questions via the coverage list, but it does not explicitly say when to use this tool instead of alternatives such as search_products or get_store_info. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch ProductsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search term (e.g. 'metal print', 'gift', 'cinematic') | |
| detail | No | 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 | No | Product handle: 'the-legacy-print', 'the-cinematic-print', or 'the-address-sign' | |
| locale | No | Locale code for localized URLs (e.g. 'en', 'pl', 'de') | |
| country | No | ISO 3166-1 alpha-2 or alpha-3 country code for geo-pricing (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR') | |
| locale_contract | No | Language-resolution contract. Legacy discloses multilingual-country ambiguity; strict requires an explicit locale. |
Output Schema
| Name | Required | Description |
|---|---|---|
| b2b | No | |
| url | No | |
| faqs | No | |
| tags | No | |
| tool | No | |
| error | No | |
| price | No | |
| query | No | |
| title | No | |
| total | No | |
| handle | No | |
| images | No | |
| market | No | |
| reason | No | |
| vendor | No | |
| dropped | No | |
| gallery | No | |
| gifting | No | |
| message | No | |
| options | No | |
| product | No | |
| returns | No | |
| material | No | |
| products | No | |
| shipping | No | |
| variants | No | |
| guarantee | No | |
| updatedAt | No | |
| use_cases | No | |
| ai_summary | No | |
| description | No | |
| launch_gate | No | |
| limit_bytes | No | |
| productType | No | |
| size_prices | No | |
| availability | No | |
| finish_guide | No | |
| social_proof | No | |
| customization | No | |
| featuredImage | No | |
| ai_description | No | |
| compareAtPrice | No | |
| localized_urls | No | |
| product_nature | No | |
| proof_workflow | No | |
| shipping_zones | No | |
| sustainability | No | |
| descriptionHtml | No | |
| _response_budget | No | |
| active_promotions | No | |
| available_handles | No | |
| available_locales | No | |
| quality_assurance | No | |
| supported_locales | No | |
| language_ambiguity | No | |
| product_comparison | No | |
| wall_art_launch_gate | No | |
| configuration_contract | No | |
| competitive_positioning | No | |
| address_sign_launch_gate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world, so the bar is lower; the description still adds real behavior — response size capping, default compact shape, and that detail expansion is gated on a single handle. It does not mention rate limits, pagination, or truncation consequences when the cap is hit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key distinction (default compact vs. handle+detail) is front-loaded and the sentences are dense but purposeful. There is some redundancy — the compact field list appears twice and the size-cap caveat is repeated at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and annotations present, the description only needs to convey the mode switch and the size cap, which it does. Minor gap: no hint about zero-result behavior or how query and handle interact when both are supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reiterates the `handle`+`detail` coupling and the compact field list, which are already documented in the schema, adding little new semantics for `query`, `locale`, `country`, or `locale_contract`.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Search and browse Bolot Studio custom metal photo prints') and clarifies the two modes: a compact card for every result versus an enriched single-product record. It is clearly distinguishable from siblings like compare_products and search_products_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit guidance on when to use `detail: true` (only with `handle`, for ONE product) and what the default returns, which is the main branch point. It does not name competing siblings (e.g. compare_products, get_product_recommendations) or say when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_products_taskSearch Products TaskAInspect
Task-based product search for long-running MCP clients. Use task polling to retrieve the result.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search term (e.g. 'metal print', 'gift', 'cinematic') | |
| detail | No | 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 | No | Product handle: 'the-legacy-print', 'the-cinematic-print', or 'the-address-sign' | |
| locale | No | Locale code for localized URLs (e.g. 'en', 'pl', 'de') | |
| country | No | ISO 3166-1 alpha-2 or alpha-3 country code for geo-pricing (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR') | |
| locale_contract | No | Language-resolution contract. Legacy discloses multilingual-country ambiguity; strict requires an explicit locale. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does disclose the task/polling model and long-running nature, which is useful, but it omits details about task lifecycle, failure modes, rate limits, or whether this is a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the core behavior and immediately tells the agent how to retrieve the result, making it appropriately sized and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The async task/polling mechanic is mentioned, and the schema fully documents parameters, so the tool is callable. However, without an output schema or an explicit alternative/selection policy, the description leaves some context about result shape and when to choose the synchronous counterpart to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already carries rich descriptions with examples. The tool description itself adds no parameter-level guidance, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('product search') with a specific resource ('products') and a distinguishing retrieval mode ('task-based... task polling'). It separates the tool from the synchronous-looking sibling search_products, although it does not explicitly name that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives actionable context: this is intended for long-running MCP clients and results are retrieved by polling. It clearly implies an asynchronous pattern, but it does not explicitly state when to prefer this over the sibling search_products tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_configurationStart ConfigurationARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | 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 | No | Pre-select finish. Not applicable to address sign. | |
| locale | No | Locale code (en, de, pl, etc.) | |
| country | No | ISO 3166-1 alpha-2 or alpha-3 country code for market-visible product availability (e.g. 'DE', 'DEU') | |
| product_handle | Yes | Product to configure |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| error | No | |
| locale | No | |
| market | No | |
| message | No | |
| product | No | |
| launch_gate | No | |
| valid_sizes | No | |
| instructions | No | |
| pre_selected | No | |
| requested_size | No | |
| _response_budget | No | |
| configurator_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint and a closed-world profile, so the bar is lower; the description adds real context by disclosing that the output is a URL and that certain products silently ignore size/finish. It stops short of stating whether the URL is signed, expiring, or locale-dependent, which would have been useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence and the second sentence carries the option semantics without filler. The per-product size enumeration is dense and duplicates the enum mapping already present in the schema, costing some economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return format need not be explained, and the annotations cover the safety profile. The description supplies the product-specific size rules and the address-sign exception, which are the non-obvious things an agent needs to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description adds genuine meaning beyond the schema: physical panel dimensions per size token, the three-panel composition of 'keepsake-3-pack', and the per-product valid size sets. Locale and country are left entirely to the schema, so it is not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and artifact ('Generate a direct URL to the Bolot Studio product configurator') plus the scope of pre-selection. This is clearly distinguishable from siblings like search_products, compare_products, or get_product_recommendations, which do not return a configurator deep link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the use case evident (produce a pre-configured link with optional size/finish preselection) and includes a practical exclusion — 'the-address-sign' uses templates and ignores size/finish. It does not, however, explicitly name an alternative tool or state when not to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
check_photo_compatibility10 fields changed- removed
Output schema / properties / country / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / country / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / format_note / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / format_note / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / market / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / market / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / photo / properties / format / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / photo / properties / format / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / recommendation / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / recommendation / typeAdded value: +[ + "string", + "null" +]
- Changed
compare_products4 fields changed- removed
Output schema / properties / differentiators / items / properties / competitor_typical / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "boolean" - } -] - added
Output schema / properties / differentiators / items / properties / competitor_typical / typeAdded value: +[ + "string", + "boolean" +] - removed
Output schema / properties / differentiators / items / properties / value / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "boolean" - } -] - added
Output schema / properties / differentiators / items / properties / value / typeAdded value: +[ + "string", + "boolean" +]
- Changed
get_product_recommendations4 fields changed- removed
Output schema / properties / finish_advice / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / finish_advice / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / room_advice / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / room_advice / typeAdded value: +[ + "string", + "null" +]
- Changed
search_products30 fields changed- removed
Output schema / properties / ai_summary / properties / price_breakdown / items / properties / currency / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / ai_summary / properties / price_breakdown / items / properties / currency / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / ai_summary / properties / price_breakdown / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / ai_summary / properties / price_breakdown / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / b2b / properties / programs / items / properties / min_order / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / b2b / properties / programs / items / properties / min_order / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / competitive_positioning / properties / differentiators / items / properties / competitor_typical / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "boolean" - } -] - added
Output schema / properties / competitive_positioning / properties / differentiators / items / properties / competitor_typical / typeAdded value: +[ + "string", + "boolean" +] - removed
Output schema / properties / competitive_positioning / properties / differentiators / items / properties / value / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "boolean" - } -] - added
Output schema / properties / competitive_positioning / properties / differentiators / items / properties / value / typeAdded value: +[ + "string", + "boolean" +] - removed
Output schema / properties / configuration_contract / properties / fields / items / properties / const_value / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / configuration_contract / properties / fields / items / properties / const_value / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / gifting / properties / budget_tiers / items / properties / currency / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / gifting / properties / budget_tiers / items / properties / currency / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / gifting / properties / budget_tiers / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / gifting / properties / budget_tiers / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / products / items / properties / b2b / properties / programs / items / properties / min_order / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / products / items / properties / b2b / properties / programs / items / properties / min_order / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / products / items / properties / gifting / properties / budget_tiers / items / properties / currency / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / products / items / properties / gifting / properties / budget_tiers / items / properties / currency / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / products / items / properties / gifting / properties / budget_tiers / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / products / items / properties / gifting / properties / budget_tiers / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / products / items / properties / variants / items / properties / sku / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / products / items / properties / variants / items / properties / sku / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / query / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / query / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / returns / properties / days / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / returns / properties / days / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / variants / items / properties / sku / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / variants / items / properties / sku / typeAdded value: +[ + "string", + "null" +]
- Changed
start_configuration4 fields changed- removed
Output schema / properties / pre_selected / properties / finish / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / pre_selected / properties / finish / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / pre_selected / properties / size / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / pre_selected / properties / size / typeAdded value: +[ + "string", + "null" +]
1 tool update
- Changed
search_products2 fields changed- added
Output schema / properties / configuration_contract / properties / fields / items / properties / const_valueAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] +} - added
Output schema / properties / configuration_contract / properties / fields / items / properties / customer_selectableAdded value: +{ + "type": "boolean" +}
2 tool updates
- Changed
search_products3 fields changed- added
Input schema / properties / locale_contractAdded value: +{ + "description": "Language-resolution contract. Legacy discloses multilingual-country ambiguity; strict requires an explicit locale.", + "enum": [ + "legacy", + "strict" + ], + "type": "string" +} - added
Output schema / properties / language_ambiguityAdded value: +{ + "additionalProperties": false, + "properties": { + "country": { + "const": "CH", + "type": "string" + }, + "default_locale": { + "const": "de", + "type": "string" + }, + "deprecation": { + "const": "locale_will_be_required", + "type": "string" + }, + "supported_locales": { + "items": { + "enum": [ + "de", + "fr", + "it" + ], + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "country", + "default_locale", + "supported_locales", + "deprecation" + ], + "type": "object" +} - added
Output schema / properties / supported_localesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +}
- Changed
search_products_task1 field changed- added
Input schema / properties / locale_contractAdded value: +{ + "description": "Language-resolution contract. Legacy discloses multilingual-country ambiguity; strict requires an explicit locale.", + "enum": [ + "legacy", + "strict" + ], + "type": "string" +}
3 tool updates
- Changed
check_photo_compatibility7 fields changed- removed
Input schema / requiredRemoved value: -[ - "width", - "height" -] - changed
Output schema / properties / assessment_status / enumPrevious value: -[ - "destination_required", - "requires_configurator_review", - "product_unavailable" -]New value: +[ + "destination_required", + "dimensions_required", + "requires_configurator_review", + "product_unavailable", + "incompatible", + "too_large" +] - added
Output schema / properties / available_print_formats / items / properties / required_pxAdded value: +{ + "additionalProperties": false, + "properties": { + "landscape": { + "additionalProperties": false, + "properties": { + "h": { + "type": "number" + }, + "w": { + "type": "number" + } + }, + "required": [ + "w", + "h" + ], + "type": "object" + }, + "portrait": { + "additionalProperties": false, + "properties": { + "h": { + "type": "number" + }, + "w": { + "type": "number" + } + }, + "required": [ + "w", + "h" + ], + "type": "object" + } + }, + "required": [ + "landscape", + "portrait" + ], + "type": "object" +} - added
Output schema / properties / available_print_formats / items / properties / resolutionAdded value: +{ + "enum": [ + "ok", + "warn", + "fail" + ], + "type": "string" +} - added
Output schema / properties / available_print_formats / items / properties / technical_sizeAdded value: +{ + "type": "string" +} - added
Output schema / properties / resolution_by_sizeAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "orientation": { + "enum": [ + "landscape", + "portrait" + ], + "type": "string" + }, + "recommended_px": { + "additionalProperties": false, + "properties": { + "h": { + "type": "number" + }, + "w": { + "type": "number" + } + }, + "required": [ + "w", + "h" + ], + "type": "object" + }, + "required_px": { + "additionalProperties": false, + "properties": { + "h": { + "type": "number" + }, + "w": { + "type": "number" + } + }, + "required": [ + "w", + "h" + ], + "type": "object" + }, + "size": { + "type": "string" + }, + "status": { + "enum": [ + "ok", + "warn", + "fail" + ], + "type": "string" + } + }, + "required": [ + "size", + "orientation", + "status", + "required_px", + "recommended_px" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / resolution_statusAdded value: +{ + "enum": [ + "compatible", + "incompatible", + "mixed", + "too_large", + "unknown" + ], + "type": "string" +}
- Changed
check_photo_compatibility_task1 field changed- removed
Input schema / requiredRemoved value: -[ - "width", - "height" -]
- Changed
search_products3 fields changed- added
Output schema / properties / products / items / properties / size_pricesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "size": { + "type": "string" + } + }, + "required": [ + "size", + "amount", + "currency" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / products / items / requiredPrevious value: -[ - "handle", - "title", - "description", - "price", - "compareAtPrice", - "availability", - "images", - "featuredImage", - "variants", - "options", - "tags", - "productType", - "vendor", - "shipping", - "customization", - "product_nature", - "material", - "url" -]New value: +[ + "handle", + "title", + "description", + "price", + "compareAtPrice", + "availability", + "images", + "featuredImage", + "variants", + "size_prices", + "options", + "tags", + "productType", + "vendor", + "shipping", + "customization", + "product_nature", + "material", + "url" +] - added
Output schema / properties / size_pricesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "size": { + "type": "string" + } + }, + "required": [ + "size", + "amount", + "currency" + ], + "type": "object" + }, + "type": "array" +}
9 tool updates
- Changed
check_photo_compatibility1 field changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +}
- Changed
compare_products1 field changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +}
- Changed
get_product_recommendations1 field changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +}
- Changed
get_reviews_summary1 field changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +}
- Changed
get_shipping_estimate1 field changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +}
- Changed
get_store_info1 field changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +}
- Changed
search_policies_and_faqs1 field changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +}
- Changed
search_products62 fields changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +} - added
Output schema / properties / active_promotionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "active": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "gift_value": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "qualifying_variants": { + "items": { + "type": "string" + }, + "type": "array" + }, + "terms": { + "type": "string" + }, + "title": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "title", + "description", + "qualifying_variants", + "active" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / address_sign_launch_gate / additionalPropertiesPrevious value: -{}New value: +false - added
Output schema / properties / address_sign_launch_gate / propertiesAdded value: +{ + "availability": { + "const": "not_available", + "type": "string" + }, + "checkout_phase": { + "const": "blocked", + "type": "string" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "required_compliance_gate": { + "type": "string" + }, + "supports_agent_checkout": { + "const": false, + "type": "boolean" + } +} - removed
Output schema / properties / address_sign_launch_gate / propertyNamesRemoved value: -{ - "type": "string" -} - added
Output schema / properties / address_sign_launch_gate / requiredAdded value: +[ + "availability", + "reason", + "message", + "required_compliance_gate", + "supports_agent_checkout", + "checkout_phase" +] - added
Output schema / properties / ai_descriptionAdded value: +{ + "type": "string" +} - added
Output schema / properties / ai_summaryAdded value: +{ + "additionalProperties": false, + "properties": { + "decision_factors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "has_3d_preview": { + "type": "boolean" + }, + "has_template_editor": { + "type": "boolean" + }, + "ideal_for": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key_differentiator": { + "type": "string" + }, + "not_ideal_for": { + "items": { + "type": "string" + }, + "type": "array" + }, + "one_liner": { + "type": "string" + }, + "price_breakdown": { + "items": { + "additionalProperties": false, + "properties": { + "currency": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "variant": { + "type": "string" + } + }, + "required": [ + "variant", + "from", + "currency" + ], + "type": "object" + }, + "type": "array" + }, + "production_timeline": { + "additionalProperties": false, + "properties": { + "max_days": { + "type": "number" + }, + "min_days": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "min_days", + "max_days", + "note" + ], + "type": "object" + }, + "requires_photo_upload": { + "type": "boolean" + }, + "unique_benefits": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "one_liner", + "key_differentiator", + "ideal_for", + "not_ideal_for", + "decision_factors", + "requires_photo_upload", + "has_3d_preview", + "has_template_editor" + ], + "type": "object" +} - added
Output schema / properties / availabilityAdded value: +{ + "enum": [ + "in_stock", + "out_of_stock", + "preorder" + ], + "type": "string" +} - added
Output schema / properties / available_localesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / b2bAdded value: +{ + "additionalProperties": false, + "properties": { + "available": { + "type": "boolean" + }, + "b2b_page_url": { + "type": "string" + }, + "contact_email": { + "type": "string" + }, + "contact_subject": { + "type": "string" + }, + "programs": { + "items": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "min_order": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "min_order", + "description" + ], + "type": "object" + }, + "type": "array" + }, + "vat_invoicing": { + "type": "boolean" + } + }, + "required": [ + "available", + "programs", + "contact_email", + "contact_subject", + "b2b_page_url", + "vat_invoicing" + ], + "type": "object" +} - added
Output schema / properties / compareAtPriceAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / competitive_positioningAdded value: +{ + "additionalProperties": false, + "properties": { + "category": { + "type": "string" + }, + "differentiators": { + "items": { + "additionalProperties": false, + "properties": { + "competitor_typical": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ] + }, + "feature": { + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "feature", + "value", + "competitor_typical" + ], + "type": "object" + }, + "type": "array" + }, + "vs_competitors": { + "items": { + "additionalProperties": false, + "properties": { + "key_differences": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "key_differences" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "category", + "differentiators", + "vs_competitors" + ], + "type": "object" +} - added
Output schema / properties / configuration_contractAdded value: +{ + "additionalProperties": false, + "properties": { + "completion": { + "additionalProperties": false, + "properties": { + "agent_checkout_supported": { + "const": false, + "type": "boolean" + }, + "configurator_url": { + "type": "string" + }, + "human_handoff_required": { + "const": true, + "type": "boolean" + } + }, + "required": [ + "agent_checkout_supported", + "human_handoff_required", + "configurator_url" + ], + "type": "object" + }, + "fields": { + "items": { + "additionalProperties": false, + "properties": { + "available_when": { + "additionalProperties": false, + "properties": { + "equals": { + "type": "string" + }, + "field": { + "type": "string" + } + }, + "required": [ + "field", + "equals" + ], + "type": "object" + }, + "default": { + "type": "number" + }, + "key": { + "type": "string" + }, + "max_length": { + "type": "number" + }, + "maximum": { + "type": "number" + }, + "minimum": { + "type": "number" + }, + "required": { + "type": "boolean" + }, + "type": { + "enum": [ + "enum", + "string", + "number" + ], + "type": "string" + }, + "values": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "id", + "label" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "key", + "type", + "required" + ], + "type": "object" + }, + "type": "array" + }, + "mode": { + "const": "hosted_configurator_handoff", + "type": "string" + }, + "quote": { + "additionalProperties": false, + "properties": { + "basis": { + "const": "size", + "type": "string" + }, + "prices": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "option_id": { + "type": "string" + }, + "option_label": { + "type": "string" + } + }, + "required": [ + "option_id", + "option_label", + "amount", + "currency" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "basis", + "prices" + ], + "type": "object" + } + }, + "required": [ + "mode", + "fields", + "quote", + "completion" + ], + "type": "object" +} - added
Output schema / properties / customizationAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "checkout_attribute": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "key": { + "type": "string" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "key", + "description", + "required" + ], + "type": "object" + }, + "configurator_url": { + "type": "string" + }, + "crop_tool": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "image_upload": { + "additionalProperties": false, + "properties": { + "formats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "max_file_size": { + "type": "string" + }, + "min_resolution": { + "additionalProperties": false, + "properties": { + "height": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "recommended_resolution": { + "additionalProperties": false, + "properties": { + "height": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "required", + "formats", + "max_file_size", + "min_resolution", + "recommended_resolution" + ], + "type": "object" + }, + "ordering_flow": { + "items": { + "type": "string" + }, + "type": "array" + }, + "required": { + "type": "boolean" + }, + "three_d_preview": { + "type": "boolean" + }, + "type": { + "type": "string" + } + }, + "required": [ + "required", + "type", + "description", + "image_upload", + "crop_tool", + "three_d_preview", + "configurator_url", + "ordering_flow", + "checkout_attribute" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / descriptionAdded value: +{ + "type": "string" +} - added
Output schema / properties / descriptionHtmlAdded value: +{ + "type": "string" +} - added
Output schema / properties / droppedAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / faqsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "question": { + "type": "string" + } + }, + "required": [ + "question", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / featuredImageAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "altText": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "altText", + "width", + "height" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / finish_guideAdded value: +{ + "additionalProperties": false, + "properties": { + "decision_rule": { + "type": "string" + }, + "options": { + "items": { + "additionalProperties": false, + "properties": { + "avoid_for": { + "items": { + "type": "string" + }, + "type": "array" + }, + "best_for": { + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "description", + "best_for", + "avoid_for" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "options", + "decision_rule" + ], + "type": "object" +} - added
Output schema / properties / galleryAdded value: +{ + "additionalProperties": false, + "properties": { + "close_up": { + "items": { + "additionalProperties": false, + "properties": { + "alt": { + "type": "string" + }, + "context": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "alt" + ], + "type": "object" + }, + "type": "array" + }, + "lifestyle": { + "items": { + "additionalProperties": false, + "properties": { + "alt": { + "type": "string" + }, + "context": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "alt" + ], + "type": "object" + }, + "type": "array" + }, + "mounting_detail": { + "items": { + "additionalProperties": false, + "properties": { + "alt": { + "type": "string" + }, + "context": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "alt" + ], + "type": "object" + }, + "type": "array" + }, + "product_shots": { + "items": { + "additionalProperties": false, + "properties": { + "alt": { + "type": "string" + }, + "context": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "alt" + ], + "type": "object" + }, + "type": "array" + }, + "size_comparison": { + "items": { + "additionalProperties": false, + "properties": { + "alt": { + "type": "string" + }, + "context": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "alt" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "product_shots", + "lifestyle", + "size_comparison", + "mounting_detail", + "close_up" + ], + "type": "object" +} - added
Output schema / properties / giftingAdded value: +{ + "additionalProperties": false, + "properties": { + "budget_tiers": { + "items": { + "additionalProperties": false, + "properties": { + "currency": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "label": { + "type": "string" + }, + "variant": { + "type": "string" + } + }, + "required": [ + "label", + "variant", + "from", + "currency" + ], + "type": "object" + }, + "type": "array" + }, + "gift_message": { + "type": "boolean" + }, + "gift_wrapping": { + "type": "boolean" + }, + "is_giftable": { + "type": "boolean" + } + }, + "required": [ + "is_giftable", + "gift_wrapping", + "gift_message", + "budget_tiers" + ], + "type": "object" +} - added
Output schema / properties / guaranteeAdded value: +{ + "additionalProperties": false, + "properties": { + "accepted_claim_costs": { + "type": "string" + }, + "claim_process": { + "type": "string" + }, + "country_scope": { + "const": "all_served_countries", + "type": "string" + }, + "coverage": { + "items": { + "type": "string" + }, + "type": "array" + }, + "customer_scope": { + "items": { + "enum": [ + "B2C", + "B2B" + ], + "type": "string" + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "discontinued_exact_material_or_component": { + "type": "string" + }, + "duration_years": { + "const": 3, + "type": "number" + }, + "mandatory_period_adjustments": { + "type": "string" + }, + "mandatory_statutory_rights": { + "const": "unaffected_under_governing_law", + "type": "string" + }, + "performance_timing": { + "type": "string" + }, + "policy_selector": { + "additionalProperties": false, + "properties": { + "conditionally_required_inputs": { + "additionalProperties": false, + "properties": { + "subdivision": { + "const": "required_when_country_is_CA", + "type": "string" + } + }, + "required": [ + "subdivision" + ], + "type": "object" + }, + "inference_policy": { + "const": "none", + "type": "string" + }, + "required_inputs": { + "items": { + "enum": [ + "country", + "locale", + "customerType" + ], + "type": "string" + }, + "type": "array" + }, + "url": { + "type": "string" + }, + "url_template": { + "type": "string" + } + }, + "required": [ + "url", + "url_template", + "required_inputs", + "conditionally_required_inputs", + "inference_policy" + ], + "type": "object" + }, + "policy_url": { + "type": "string" + }, + "publication_status": { + "const": "active", + "type": "string" + }, + "reasonable_evidence_may_be_requested": { + "const": true, + "type": "boolean" + }, + "remedies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "retained_image_deletion_effect": { + "type": "string" + }, + "starts": { + "const": "delivery", + "type": "string" + }, + "terms_document_count": { + "type": "number" + }, + "terms_version": { + "type": "string" + }, + "type": { + "const": "voluntary_commercial_guarantee", + "type": "string" + }, + "voluntary_guarantee_exclusions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + ], + "type": "object" +} - added
Output schema / properties / imagesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "altText": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "altText", + "width", + "height" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / launch_gate / additionalPropertiesPrevious value: -{}New value: +false - added
Output schema / properties / launch_gate / propertiesAdded value: +{ + "availability": { + "const": "not_available", + "type": "string" + }, + "checkout_phase": { + "const": "blocked", + "type": "string" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "required_compliance_gate": { + "type": "string" + }, + "supports_agent_checkout": { + "const": false, + "type": "boolean" + } +} - removed
Output schema / properties / launch_gate / propertyNamesRemoved value: -{ - "type": "string" -} - added
Output schema / properties / launch_gate / requiredAdded value: +[ + "availability", + "reason", + "message", + "required_compliance_gate", + "supports_agent_checkout", + "checkout_phase" +] - added
Output schema / properties / limit_bytesAdded value: +{ + "type": "number" +} - added
Output schema / properties / localized_urlsAdded value: +{ + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Output schema / properties / materialAdded value: +{ + "additionalProperties": false, + "properties": { + "mounting": { + "type": "string" + }, + "process": { + "type": "string" + }, + "thickness": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type", + "thickness", + "process", + "mounting" + ], + "type": "object" +} - added
Output schema / properties / optionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name", + "values" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / priceAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / productAdded value: +{ + "type": "string" +} - added
Output schema / properties / productTypeAdded value: +{ + "type": "string" +} - added
Output schema / properties / product_comparisonAdded value: +{ + "additionalProperties": false, + "properties": { + "differences": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vs_product": { + "type": "string" + }, + "vs_product_title": { + "type": "string" + }, + "when_to_choose_other": { + "items": { + "type": "string" + }, + "type": "array" + }, + "when_to_choose_this": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "vs_product", + "vs_product_title", + "differences", + "when_to_choose_this", + "when_to_choose_other" + ], + "type": "object" +} - added
Output schema / properties / product_natureAdded value: +{ + "type": "string" +} - changed
Output schema / properties / products / items / additionalPropertiesPrevious value: -{}New value: +false - added
Output schema / properties / products / items / propertiesAdded value: +{ + "active_promotions": { + "items": { + "additionalProperties": false, + "properties": { + "active": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "gift_value": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "qualifying_variants": { + "items": { + "type": "string" + }, + "type": "array" + }, + "terms": { + "type": "string" + }, + "title": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "title", + "description", + "qualifying_variants", + "active" + ], + "type": "object" + }, + "type": "array" + }, + "availability": { + "enum": [ + "in_stock", + "out_of_stock", + "preorder" + ], + "type": "string" + }, + "b2b": { + "additionalProperties": false, + "properties": { + "available": { + "type": "boolean" + }, + "b2b_page_url": { + "type": "string" + }, + "contact_email": { + "type": "string" + }, + "contact_subject": { + "type": "string" + }, + "programs": { + "items": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "min_order": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "min_order", + "description" + ], + "type": "object" + }, + "type": "array" + }, + "vat_invoicing": { + "type": "boolean" + } + }, + "required": [ + "available", + "programs", + "contact_email", + "contact_subject", + "b2b_page_url", + "vat_invoicing" + ], + "type": "object" + }, + "compareAtPrice": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "customization": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "checkout_attribute": { + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "key": { + "type": "string" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "key", + "description", + "required" + ], + "type": "object" + }, + "configurator_url": { + "type": "string" + }, + "crop_tool": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "image_upload": { + "additionalProperties": false, + "properties": { + "formats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "max_file_size": { + "type": "string" + }, + "min_resolution": { + "additionalProperties": false, + "properties": { + "height": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "recommended_resolution": { + "additionalProperties": false, + "properties": { + "height": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "required", + "formats", + "max_file_size", + "min_resolution", + "recommended_resolution" + ], + "type": "object" + }, + "ordering_flow": { + "items": { + "type": "string" + }, + "type": "array" + }, + "required": { + "type": "boolean" + }, + "three_d_preview": { + "type": "boolean" + }, + "type": { + "type": "string" + } + }, + "required": [ + "required", + "type", + "description", + "image_upload", + "crop_tool", + "three_d_preview", + "configurator_url", + "ordering_flow", + "checkout_attribute" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "description": { + "type": "string" + }, + "featuredImage": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "altText": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "altText", + "width", + "height" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "finish_guide": { + "additionalProperties": false, + "properties": { + "decision_rule": { + "type": "string" + }, + "options": { + "items": { + "additionalProperties": false, + "properties": { + "avoid_for": { + "items": { + "type": "string" + }, + "type": "array" + }, + "best_for": { + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "description", + "best_for", + "avoid_for" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "options", + "decision_rule" + ], + "type": "object" + }, + "gifting": { + "additionalProperties": false, + "properties": { + "budget_tiers": { + "items": { + "additionalProperties": false, + "properties": { + "currency": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "label": { + "type": "string" + }, + "variant": { + "type": "string" + } + }, + "required": [ + "label", + "variant", + "from", + "currency" + ], + "type": "object" + }, + "type": "array" + }, + "gift_message": { + "type": "boolean" + }, + "gift_wrapping": { + "type": "boolean" + }, + "is_giftable": { + "type": "boolean" + } + }, + "required": [ + "is_giftable", + "gift_wrapping", + "gift_message", + "budget_tiers" + ], + "type": "object" + }, + "handle": { + "type": "string" + }, + "images": { + "items": { + "additionalProperties": false, + "properties": { + "altText": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "altText", + "width", + "height" + ], + "type": "object" + }, + "type": "array" + }, + "launch_gate": { + "additionalProperties": false, + "properties": { + "availability": { + "const": "not_available", + "type": "string" + }, + "checkout_phase": { + "const": "blocked", + "type": "string" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "required_compliance_gate": { + "type": "string" + }, + "supports_agent_checkout": { + "const": false, + "type": "boolean" + } + }, + "required": [ + "availability", + "reason", + "message", + "required_compliance_gate", + "supports_agent_checkout", + "checkout_phase" + ], + "type": "object" + }, + "material": { + "additionalProperties": false, + "properties": { + "mounting": { + "type": "string" + }, + "process": { + "type": "string" + }, + "thickness": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type", + "thickness", + "process", + "mounting" + ], + "type": "object" + }, + "options": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name", + "values" + ], + "type": "object" + }, + "type": "array" + }, + "price": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "productType": { + "type": "string" + }, + "product_nature": { + "type": "string" + }, + "shipping": { + "additionalProperties": false, + "properties": { + "estimatedDays": { + "additionalProperties": false, + "properties": { + "max": { + "type": "number" + }, + "min": { + "type": "number" + } + }, + "required": [ + "min", + "max" + ], + "type": "object" + }, + "freeAbove": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "productionDays": { + "additionalProperties": false, + "properties": { + "max": { + "type": "number" + }, + "min": { + "type": "number" + } + }, + "required": [ + "min", + "max" + ], + "type": "object" + }, + "zones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "freeAbove", + "estimatedDays", + "zones", + "productionDays" + ], + "type": "object" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "variants": { + "items": { + "additionalProperties": false, + "properties": { + "availability": { + "enum": [ + "in_stock", + "out_of_stock", + "preorder" + ], + "type": "string" + }, + "compareAtPrice": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "dimensions": { + "additionalProperties": false, + "properties": { + "height_cm": { + "type": "number" + }, + "width_cm": { + "type": "number" + } + }, + "required": [ + "width_cm", + "height_cm" + ], + "type": "object" + }, + "image": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "altText": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "altText", + "width", + "height" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "options": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "name", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "price": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "sku": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sku", + "price", + "compareAtPrice", + "availability", + "options", + "image" + ], + "type": "object" + }, + "type": "array" + }, + "vendor": { + "type": "string" + } +} - removed
Output schema / properties / products / items / propertyNamesRemoved value: -{ - "type": "string" -} - added
Output schema / properties / products / items / requiredAdded value: +[ + "handle", + "title", + "description", + "price", + "compareAtPrice", + "availability", + "images", + "featuredImage", + "variants", + "options", + "tags", + "productType", + "vendor", + "shipping", + "customization", + "product_nature", + "material", + "url" +] - added
Output schema / properties / proof_workflowAdded value: +{ + "additionalProperties": false, + "properties": { + "applies_when": { + "const": "bolot_studio_requests_crop_or_correction_approval", + "type": "string" + }, + "description": { + "type": "string" + }, + "no_response_outcome": { + "const": "produce_using_original_crop_submitted_with_order", + "type": "string" + }, + "no_response_waives_nonconformity_rights": { + "const": false, + "type": "boolean" + }, + "proof_approval_waives_nonconformity_rights": { + "const": false, + "type": "boolean" + }, + "response_period": { + "additionalProperties": false, + "properties": { + "maximum_business_days": { + "const": 5, + "type": "number" + } + }, + "required": [ + "maximum_business_days" + ], + "type": "object" + } + }, + "required": [ + "applies_when", + "response_period", + "no_response_outcome", + "proof_approval_waives_nonconformity_rights", + "no_response_waives_nonconformity_rights", + "description" + ], + "type": "object" +} - added
Output schema / properties / quality_assuranceAdded value: +{ + "additionalProperties": false, + "properties": { + "color_accuracy": { + "type": "string" + }, + "defect_policy": { + "type": "string" + }, + "individual_inspection": { + "type": "boolean" + }, + "inspection_description": { + "type": "string" + }, + "production_method": { + "type": "string" + }, + "quality_standard": { + "type": "string" + } + }, + "required": [ + "individual_inspection", + "inspection_description", + "color_accuracy", + "production_method", + "quality_standard" + ], + "type": "object" +} - added
Output schema / properties / reasonAdded value: +{ + "type": "string" +} - added
Output schema / properties / returnsAdded value: +{ + "additionalProperties": false, + "properties": { + "changeOfMindReturns": { + "const": "not_offered_for_personalized_goods", + "type": "string" + }, + "coverage": { + "type": "string" + }, + "days": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "eligibleReasons": { + "items": { + "type": "string" + }, + "type": "array" + }, + "excludedReasons": { + "items": { + "type": "string" + }, + "type": "array" + }, + "freeReturns": { + "const": false, + "type": "boolean" + }, + "legalBasis": { + "type": "string" + }, + "merchantPaidVerifiedIssueReturns": { + "const": true, + "type": "boolean" + }, + "personalizedGoodsExemption": { + "type": "boolean" + }, + "process": { + "type": "string" + }, + "qualityIssueReportingHasSeparateDeadline": { + "const": false, + "type": "boolean" + }, + "qualityIssueReportingTiming": { + "const": "promptly_after_discovery", + "type": "string" + }, + "seasonal_override": { + "additionalProperties": false, + "properties": { + "days": { + "type": "number" + }, + "description": { + "type": "string" + }, + "period": { + "additionalProperties": false, + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "period", + "days", + "description" + ], + "type": "object" + }, + "type": { + "const": "statutory_remedies_personalized_goods", + "type": "string" + } + }, + "required": [ + "days", + "type", + "freeReturns", + "changeOfMindReturns", + "qualityIssueReportingTiming", + "qualityIssueReportingHasSeparateDeadline", + "merchantPaidVerifiedIssueReturns" + ], + "type": "object" +} - added
Output schema / properties / shippingAdded value: +{ + "additionalProperties": false, + "properties": { + "estimatedDays": { + "additionalProperties": false, + "properties": { + "max": { + "type": "number" + }, + "min": { + "type": "number" + } + }, + "required": [ + "min", + "max" + ], + "type": "object" + }, + "freeAbove": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "productionDays": { + "additionalProperties": false, + "properties": { + "max": { + "type": "number" + }, + "min": { + "type": "number" + } + }, + "required": [ + "min", + "max" + ], + "type": "object" + }, + "zones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "freeAbove", + "estimatedDays", + "zones", + "productionDays" + ], + "type": "object" +} - added
Output schema / properties / shipping_zonesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "carrier": { + "type": "string" + }, + "countries": { + "items": { + "type": "string" + }, + "type": "array" + }, + "delivery_days": { + "additionalProperties": false, + "properties": { + "max": { + "type": "number" + }, + "min": { + "type": "number" + } + }, + "required": [ + "min", + "max" + ], + "type": "object" + }, + "zone": { + "type": "string" + } + }, + "required": [ + "zone", + "countries", + "delivery_days" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / social_proofAdded value: +{ + "additionalProperties": false, + "properties": { + "aggregate_rating": { + "additionalProperties": false, + "properties": { + "review_count": { + "type": "number" + }, + "reviews_with_photos_count": { + "type": "number" + }, + "scale": { + "type": "number" + }, + "value": { + "type": "number" + }, + "verified_purchase_count": { + "type": "number" + } + }, + "required": [ + "value", + "scale", + "review_count", + "verified_purchase_count", + "reviews_with_photos_count" + ], + "type": "object" + }, + "featured_reviews": { + "items": { + "additionalProperties": false, + "properties": { + "author": { + "type": "string" + }, + "body": { + "type": "string" + }, + "date": { + "type": "string" + }, + "has_photo": { + "type": "boolean" + }, + "rating": { + "type": "number" + }, + "variant": { + "type": "string" + }, + "verified_purchase": { + "type": "boolean" + } + }, + "required": [ + "author", + "rating", + "body", + "verified_purchase", + "has_photo", + "date" + ], + "type": "object" + }, + "type": "array" + }, + "review_page_url": { + "type": "string" + }, + "review_source": { + "type": "string" + } + }, + "required": [ + "aggregate_rating", + "featured_reviews", + "review_source", + "review_page_url" + ], + "type": "object" +} - added
Output schema / properties / sustainabilityAdded value: +{ + "additionalProperties": false, + "properties": { + "certifications": { + "items": { + "type": "string" + }, + "type": "array" + }, + "material_recyclability": { + "type": "string" + }, + "packaging": { + "type": "string" + }, + "process_claims": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "material_recyclability", + "process_claims", + "packaging", + "certifications" + ], + "type": "object" +} - added
Output schema / properties / tagsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / titleAdded value: +{ + "type": "string" +} - added
Output schema / properties / toolAdded value: +{ + "type": "string" +} - added
Output schema / properties / updatedAtAdded value: +{ + "type": "string" +} - added
Output schema / properties / urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / use_casesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "age_range": { + "type": "string" + }, + "occasion": { + "type": "string" + }, + "price_from": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "recipient_profile": { + "type": "string" + }, + "recommended_finish": { + "type": "string" + }, + "recommended_variant": { + "type": "string" + }, + "seasonal": { + "type": "boolean" + }, + "why": { + "type": "string" + } + }, + "required": [ + "occasion", + "recommended_variant", + "recommended_finish", + "price_from", + "why" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / variantsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "availability": { + "enum": [ + "in_stock", + "out_of_stock", + "preorder" + ], + "type": "string" + }, + "compareAtPrice": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "dimensions": { + "additionalProperties": false, + "properties": { + "height_cm": { + "type": "number" + }, + "width_cm": { + "type": "number" + } + }, + "required": [ + "width_cm", + "height_cm" + ], + "type": "object" + }, + "image": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "altText": { + "type": "string" + }, + "height": { + "type": "number" + }, + "url": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "url", + "altText", + "width", + "height" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "options": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "name", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "price": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "currency": { + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "sku": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sku", + "price", + "compareAtPrice", + "availability", + "options", + "image" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / vendorAdded value: +{ + "type": "string" +} - changed
Output schema / properties / wall_art_launch_gate / additionalPropertiesPrevious value: -{}New value: +false - added
Output schema / properties / wall_art_launch_gate / propertiesAdded value: +{ + "availability": { + "const": "not_available", + "type": "string" + }, + "checkout_phase": { + "const": "blocked", + "type": "string" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "required_compliance_gate": { + "type": "string" + }, + "supports_agent_checkout": { + "const": false, + "type": "boolean" + } +} - removed
Output schema / properties / wall_art_launch_gate / propertyNamesRemoved value: -{ - "type": "string" -} - added
Output schema / properties / wall_art_launch_gate / requiredAdded value: +[ + "availability", + "reason", + "message", + "required_compliance_gate", + "supports_agent_checkout", + "checkout_phase" +]
- Changed
start_configuration1 field changed- added
Output schema / properties / _response_budgetAdded value: +{ + "additionalProperties": false, + "properties": { + "dropped": { + "items": { + "type": "string" + }, + "type": "array" + }, + "limit_bytes": { + "type": "number" + }, + "note": { + "type": "string" + } + }, + "required": [ + "dropped", + "limit_bytes", + "note" + ], + "type": "object" +}
1 tool update
- Changed
search_policies_and_faqs1 field changed- changed
Output schema / properties / faqs / items / properties / source / enumPrevious value: -[ - "faq_page", - "product_faq" -]New value: +[ + "faq_page", + "product_faq", + "guarantee" +]
3 tool updates
- Changed
search_policies_and_faqs6 fields changed- added
Output schema / properties / faqs / items / properties / localeAdded value: +{ + "type": "string" +} - added
Output schema / properties / faqs / items / properties / sourceAdded value: +{ + "enum": [ + "faq_page", + "product_faq" + ], + "type": "string" +} - changed
Output schema / properties / faqs / items / requiredPrevious value: -[ - "product", - "question", - "answer" -]New value: +[ + "question", + "answer" +] - added
Output schema / properties / localeAdded value: +{ + "type": "string" +} - added
Output schema / properties / locale_fallbackAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / returned_matchesAdded value: +{ + "type": "number" +}
- Changed
search_products1 field changed- added
Input schema / properties / detailAdded value: +{ + "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.", + "type": "boolean" +}
- Changed
search_products_task1 field changed- added
Input schema / properties / detailAdded value: +{ + "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.", + "type": "boolean" +}
3 tool updates
- Changed
check_photo_compatibility15 fields changed- added
Input schema / properties / countryAdded value: +{ + "description": "Delivery country as ISO alpha-2 or alpha-3. Required before market-visible print formats can be shown.", + "maxLength": 3, + "type": "string" +} - added
Output schema / properties / assessment_statusAdded value: +{ + "enum": [ + "destination_required", + "requires_configurator_review", + "product_unavailable" + ], + "type": "string" +} - added
Output schema / properties / available_print_formatsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "dimensions_cm": { + "type": "string" + }, + "label": { + "type": "string" + }, + "product": { + "type": "string" + }, + "size": { + "type": "string" + } + }, + "required": [ + "product", + "size", + "label", + "dimensions_cm" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / compatibility_determinedAdded value: +{ + "type": "boolean" +} - removed
Output schema / properties / compatible_countRemoved value: -{ - "type": "number" -} - added
Output schema / properties / countryAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / launch_gateAdded value: +{ + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Output schema / properties / marketAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / recommendation / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / recommendation / typeRemoved value: -"string" - added
Output schema / properties / recommended_formatAdded value: +{ + "type": "null" +} - removed
Output schema / properties / recommended_sizeRemoved value: -{ - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "label": { - "type": "string" - }, - "quality": { - "enum": [ - "excellent", - "good", - "minimum", - "too_low" - ], - "type": "string" - }, - "size": { - "type": "string" - }, - "size_cm": { - "type": "string" - } - }, - "required": [ - "size", - "label", - "size_cm", - "quality" - ], - "type": "object" - }, - { - "type": "null" - } - ] -} - added
Output schema / properties / review_factorsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - removed
Output schema / properties / sizesRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "compatible": { - "type": "boolean" - }, - "label": { - "type": "string" - }, - "min_height": { - "type": "number" - }, - "min_width": { - "type": "number" - }, - "quality": { - "enum": [ - "excellent", - "good", - "minimum", - "too_low" - ], - "type": "string" - }, - "size": { - "type": "string" - }, - "size_cm": { - "type": "string" - } - }, - "required": [ - "size", - "label", - "size_cm", - "min_width", - "min_height", - "compatible", - "quality" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / supported_upload_formatsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +}
- Changed
check_photo_compatibility_task1 field changed- added
Input schema / properties / countryAdded value: +{ + "description": "Delivery country as ISO alpha-2 or alpha-3. Required before market-visible print formats can be shown.", + "maxLength": 3, + "type": "string" +}
- Changed
start_configuration2 fields changed- changed
Input schema / properties / size / descriptionPrevious value: -"Pre-select size. Valid set depends on the product: 'the-legacy-print' → 'classic' or 'statement'; 'the-cinematic-print' → 'intimate', 'classic', or 'statement'. An unsupported size for the chosen product returns an invalid_size_for_product error. Not applicable to the address sign."New value: +"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." - changed
Input schema / properties / size / enumPrevious value: -[ - "classic", - "statement", - "intimate" -]New value: +[ + "keepsake-3-pack", + "classic", + "statement", + "intimate" +]
11 tool updates
- First observed
check_photo_compatibility - First observed
check_photo_compatibility_task - First observed
compare_products - First observed
get_product_recommendations - First observed
get_reviews_summary - First observed
get_shipping_estimate - First observed
get_store_info - First observed
search_policies_and_faqs - First observed
search_products - First observed
search_products_task - First observed
start_configuration
Related MCP Connectors
Read-only product discovery, merchant trust, shipping and returns for SVV-Schatzoekers.
Public read-only catalog and knowledge of the Good Nature Vibe shop. No login.
Shopify store catalog, SKU/price/availability & collections
Read shops, catalog blueprints, print providers, products and orders; create and publish products.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables reading any public Shopify storefront's product catalogue with variants, SKUs, and prices, plus its collections, through two read-only MCP tools without needing an app or merchant token.277 npm20 PyPI7MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to search live products on crunchyfashion.in by keyword, collection, price and sort order, retrieve full details for individual items, and browse available collections — with results rendered as a shoppable, storefront-styled carousel or grid.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search a catalog of framed public-domain masterworks and NASA photography, look up available sizes, frames and prices, and quote orders before tax and shipping. It can also generate a secure Stripe Checkout link so the buyer pays directly, and report order and shipping status without exposing card data.MIT
- AlicenseNot gradedqualityCmaintenanceEnables read-only catalogue discovery through standard MCP tools for searching, batch lookup, and retrieving product/variant details with prices and availability.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.