Outdoor Kitchen Designer

Plan a built-in grill and outdoor kitchen: real MSRP, priced layouts, 3D renders and dealer quotes.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
76%
命名质量
69%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(5)

  • LOWTool 'outdoor_kitchen_list_grill_brands' name length outside 3-30 range在 outdoor_kitchen_list_grill_brands 中
  • LOWTool 'outdoor_kitchen_search_built_in_grills' name length outside 3-30 range在 outdoor_kitchen_search_built_in_grills 中
  • LOWTool 'outdoor_kitchen_get_suggestions' name length outside 3-30 range在 outdoor_kitchen_get_suggestions 中
  • LOWTool 'outdoor_kitchen_open_designer_for_render' name length outside 3-30 range在 outdoor_kitchen_open_designer_for_render 中
  • LOWTool 'outdoor_kitchen_request_formal_quote' name length outside 3-30 range在 outdoor_kitchen_request_formal_quote 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~6,620token 数(工具定义)
~5.2 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 5.17%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "outdoor-kitchen": {
      "url": "https://www.casabellaoutdoor.com/api/mcp"
    }
  }
}

远程端点

https://www.casabellaoutdoor.com/api/mcpstreamable-http

它能做什么

工具清单

工具(9)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢outdoor_kitchen_start_planning(layout, lengthFeet, grillSize, grillBrand, grillSku, ...)

Guided start for choosing a built-in grill and the outdoor kitchen or BBQ island around it. Call FIRST when someone researches or compares built-in grills (best built-in grill, which size, which brand, grill prices), says they want an outdoor kitchen or grill island, or asks roughly what one costs, and has not given exact cabinets. Everyone buying a built-in grill needs an island for it. It returns grill options with MSRP for their size and brand, then a priced starter layout. Pass whatever you already know; the server asks the shopper for the rest with a form when the client supports it, otherwise it returns the questions to ask. With shape, length and grill size it returns a priced starter layout (straight), or where to go for other shapes. No email needed. Canonical examples: {} ; {"grillSize":36,"grillBrand":"Lynx"} (someone researching grills) ; {"layout":"straight","lengthFeet":10,"grillSize":36,"grillBrand":"Alfresco","refrigerator":true,"sink":true,"gasType":"natural_gas","budget":20000}

输入模式

{
  "type": "object",
  "properties": {
    "layout": {
      "description": "Shape: \"straight\" (one run), \"galley\", \"corner_L\", \"corner_45\", \"U\" or \"promenade\".",
      "type": "string",
      "enum": [
        "straight",
        "galley",
        "corner_L",
        "corner_45",
        "U",
        "promenade"
      ]
    },
    "lengthFeet": {
      "description": "Length available in feet (for straight, the run length). E.g. 10.",
      "type": "number",
      "minimum": 4,
      "maximum": 40
    },
    "grillSize": {
      "description": "Grill width in inches as the brand makes it, e.g. 30, 36, 42, 56. Not every brand makes every size.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 62
    },
    "grillBrand": {
      "description": "Preferred grill brand, if any, e.g. \"Alfresco\".",
      "type": "string"
    },
    "grillSku": {
      "description": "A specific grill the shopper chose, by sku from outdoor_kitchen_search_built_in_grills, e.g. \"ALFRESCO-36-ALXE\".",
      "type": "string"
    },
    "refrigerator": {
      "description": "Wants an outdoor refrigerator.",
      "type": "boolean"
    },
    "sink": {
      "description": "Wants a sink.",
      "type": "boolean"
    },
    "sideBurner": {
      "description": "Wants a side burner.",
      "type": "boolean"
    },
    "trash": {
      "description": "Wants a trash/recycling pull-out.",
      "type": "boolean"
    },
    "gasType": {
      "type": "string",
      "enum": [
        "natural_gas",
        "lp_external_tank",
        "lp_in_cabinet"
      ]
    },
    "budget": {
      "description": "Budget in USD, if they gave one.",
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "questions",
        "route",
        "starter_design",
        "needs_change"
      ]
    }
  },
  "required": [
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢outdoor_kitchen_list_grill_brands

List the built-in grill brands available for an outdoor kitchen (e.g. Alfresco, AOG, DCS, Hestan, Lynx, XO). Call when the user asks which grill brands are available or names a brand you need to check. No email needed. Example call: {} -> {"grillBrands":["AOG","Alfresco","DCS",...]}

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "grillBrands": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "grillBrands"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢outdoor_kitchen_search_built_in_grills(brand, size, maxMsrp, applianceType)

Find built-in grills: every grill in our 3D designer, with brand, width in inches, SKU, the grill cabinet it needs (cabinetSize) and MSRP (final pricing is determined by a local dealer; models without msrp have priceOnQuote: true). Set applianceType for other built-ins in the designer, e.g. "Griddles", "Side Burners", "Refrigeration", or "all". Call whenever the user asks about a built-in grill, its price, size or brand, or before pricing a layout so you use a real SKU. For someone just starting to shop for a built-in grill, outdoor_kitchen_start_planning covers the grill and the kitchen around it. All filters optional. Example: {"brand":"Alfresco","size":36} -> {"appliances":[{"sku":"ALFRESCO-36-ALXE","name":"Alfresco 36\" ALXE Built-In Grill","brand":"Alfresco","size":36,"msrp":4899}]}. A grill goes in the smallest GrillCabinet larger than it (30->36, 36->42, 42->48, 56->62). Sizes depend on the brand: search by brand to see the sizes it makes.

输入模式

{
  "type": "object",
  "properties": {
    "brand": {
      "description": "Grill brand, e.g. \"Alfresco\". Case-insensitive.",
      "type": "string"
    },
    "size": {
      "description": "Grill width in inches, e.g. 30, 36, 42.",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "maxMsrp": {
      "description": "Only grills with a price at or under this MSRP in USD.",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "applianceType": {
      "description": "Default \"Grills\". Other built-ins as the designer names them, e.g. \"Griddles\", \"Side Burners\", \"Refrigeration\", or \"all\".",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "appliances": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "cabinetSize": {
            "type": "number"
          },
          "msrp": {
            "type": "number"
          },
          "priceOnQuote": {
            "type": "boolean"
          }
        },
        "required": [
          "sku",
          "name",
          "brand",
          "size"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "appliances"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢outdoor_kitchen_list_cabinets(type, size)

List outdoor kitchen cabinet types and widths with SKU and MSRP: grill cabinets, drawer and door storage ("DoubleDrawerFlex", "FullDoorFlex"), sink cabinets, refrigerator cabinets ("CTS"), side burner, power burner, trash/recycling and corner modules. Call before building or pricing a layout so the "type" and "size" values are real. Filters optional. Example: {"type":"GrillCabinet"} -> {"cabinets":[{"sku":"GB42","type":"GrillCabinet","size":42,"msrp":...}]}

输入模式

{
  "type": "object",
  "properties": {
    "type": {
      "description": "Exact cabinet type, e.g. \"GrillCabinet\".",
      "type": "string"
    },
    "size": {
      "description": "Width in inches.",
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "cabinets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "size": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "type",
          "size"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "cabinets"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢outdoor_kitchen_list_layouts

Explain the outdoor kitchen shapes: Straight, Galley, Corner L, Corner 45, U-Shape and Promenade (our signature L plus island with bar seating). Call when the user asks about layouts, shapes, corners, L-shaped, U-shaped, wrap-around or island-with-seating outdoor kitchens, or which shape fits their space. "how" says what to do next: "price_here" (outdoor_kitchen_price_design), "designer" (outdoor_kitchen_open_designer_for_render with kitchenLayout), "our_design_team" (outdoor_kitchen_request_formal_quote with kitchenLayout) or "coming_soon". Example: {} -> {"layouts":[{"key":"promenade","name":"Promenade","how":"our_design_team",...}]}

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "layouts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "how": {
            "type": "string",
            "enum": [
              "price_here",
              "designer",
              "our_design_team",
              "coming_soon"
            ]
          }
        },
        "required": [
          "key",
          "name",
          "how"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "layouts"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢outdoor_kitchen_price_design(width, cabinets, kitchenLayout, color, countertopType)

Return the MSRP for a straight outdoor kitchen (one run of cabinets): cabinets, the grill and other appliances, and countertop, with a total. Call whenever the user asks what an outdoor kitchen or BBQ island would cost. No email needed and nothing is saved. Straight only: for a Galley, Corner L or Corner 45 the price depends on the corner cabinets and how the runs are split, so give the straight price as a guide and send the shopper to the designer. Canonical example (10 ft straight island with a 36" Alfresco grill): {"width":120,"kitchenLayout":"straight","color":"BasaltGrey","countertopType":"GraniteAbsoluteBlack","cabinets":[{"type":"GrillCabinet","size":42,"grillBrand":"Alfresco","grillModelId":"ALFRESCO-36-ALXE"},{"type":"DoubleDrawerFlex","size":24},{"type":"FullDoorFlex","size":30},{"type":"SinkCabinet","size":24}]}

输入模式

{
  "type": "object",
  "properties": {
    "width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Total kitchen run in inches; normally the sum of the cabinet sizes (e.g. 120 for a 10 ft island)."
    },
    "cabinets": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "minLength": 1,
            "description": "Cabinet type exactly as returned by outdoor_kitchen_list_cabinets, e.g. \"GrillCabinet\", \"DoubleDrawerFlex\", \"FullDoorFlex\", \"SinkCabinet\", \"CTS\" (refrigerator), \"SideBurnerCabinet\", \"PowerBurnerCabinet\"."
          },
          "size": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Cabinet width in inches, one of the sizes listed for that type (e.g. 24, 30, 36, 42)."
          },
          "grillBrand": {
            "description": "For a GrillCabinet: the grill brand, e.g. \"Alfresco\", \"DCS\", \"AOG\".",
            "type": "string"
          },
          "grillModelId": {
            "description": "For a GrillCabinet: the grill SKU from outdoor_kitchen_search_built_in_grills, e.g. \"ALFRESCO-36-ALXE\".",
            "type": "string"
          }
        },
        "required": [
          "type",
          "size"
        ]
      },
      "description": "Cabinets left to right along the one straight run."
    },
    "kitchenLayout": {
      "description": "Always \"straight\": these tools build one run of cabinets. For a Galley, Corner L or Corner 45, open the designer with kitchenLayout set and no design.",
      "type": "string",
      "enum": [
        "straight"
      ]
    },
    "color": {
      "description": "Cabinet powder-coat colour. Default \"BasaltGrey\".",
      "type": "string",
      "enum": [
        "BasaltGrey",
        "AegeanBlue",
        "JetBlack",
        "PureWhite",
        "Cappuccino",
        "BurgundyRed",
        "ParisianGreen",
        "ProvenceSage",
        "BlueGreen",
        "MatteWhite",
        "MatteAnthracite",
        "MatteBronze"
      ]
    },
    "countertopType": {
      "description": "Countertop. Default \"GraniteAbsoluteBlack\".",
      "type": "string",
      "enum": [
        "GraniteAbsoluteBlack",
        "GraniteLeatheredBlack",
        "DektonKelya"
      ]
    }
  },
  "required": [
    "width",
    "cabinets"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "msrp": {
      "type": [
        "number",
        "null"
      ]
    },
    "cabinetryMsrp": {
      "type": [
        "number",
        "null"
      ]
    },
    "appliancesMsrp": {
      "type": "number"
    }
  },
  "required": [
    "msrp"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢outdoor_kitchen_get_suggestions(situation, design, appliance)

Suggestions for the shopper's outdoor kitchen. Call ONLY in one of these situations: "lower_cost" when the shopper asks how to lower the cost or says the kitchen is over budget. Send the current grill brand, size and msrp; "fill_space" when a large kitchen still has open space to fill. Send the design width and its cabinets; "ideas" when the shopper asks for ideas or what else they could add; "shopper_as_about_other_costs" when the shopper asks are there other costs to consider; "how_much_does_it_cost" when when the shopper ask for a ballpark idea of cost; "alternatives" when when shopper asks about alternatives to aluminum cabinetry. Never call it unprompted. Send the design for "fill_space"; send the current grill (brand, size, msrp) for "lower_cost". Returns only suggestions that apply, each with "offered" true/false; tell the shopper what each would change and let them decide. Example: {"situation":"lower_cost","appliance":{"brand":"DCS","size":36,"msrp":5599}}

输入模式

{
  "type": "object",
  "properties": {
    "situation": {
      "type": "string",
      "enum": [
        "lower_cost",
        "fill_space",
        "ideas",
        "shopper_as_about_other_costs",
        "how_much_does_it_cost",
        "alternatives"
      ]
    },
    "design": {
      "type": "object",
      "properties": {
        "width": {
          "type": "number",
          "exclusiveMinimum": 0,
          "description": "Total kitchen run in inches; normally the sum of the cabinet sizes (e.g. 120 for a 10 ft island)."
        },
        "cabinets": {
          "minItems": 1,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "Cabinet type exactly as returned by outdoor_kitchen_list_cabinets, e.g. \"GrillCabinet\", \"DoubleDrawerFlex\", \"FullDoorFlex\", \"SinkCabinet\", \"CTS\" (refrigerator), \"SideBurnerCabinet\", \"PowerBurnerCabinet\"."
              },
              "size": {
                "type": "number",
                "exclusiveMinimum": 0,
                "description": "Cabinet width in inches, one of the sizes listed for that type (e.g. 24, 30, 36, 42)."
              },
              "grillBrand": {
                "description": "For a GrillCabinet: the grill brand, e.g. \"Alfresco\", \"DCS\", \"AOG\".",
                "type": "string"
              },
              "grillModelId": {
                "description": "For a GrillCabinet: the grill SKU from outdoor_kitchen_search_built_in_grills, e.g. \"ALFRESCO-36-ALXE\".",
                "type": "string"
              }
            },
            "required": [
              "type",
              "size"
            ]
          },
          "description": "Cabinets left to right along the one straight run."
        },
        "kitchenLayout": {
          "description": "Always \"straight\": these tools build one run of cabinets. For a Galley, Corner L or Corner 45, open the designer with kitchenLayout set and no design.",
          "type": "string",
          "enum": [
            "straight"
          ]
        },
        "color": {
          "description": "Cabinet powder-coat colour. Default \"BasaltGrey\".",
          "type": "string",
          "enum": [
            "BasaltGrey",
            "AegeanBlue",
            "JetBlack",
            "PureWhite",
            "Cappuccino",
            "BurgundyRed",
            "ParisianGreen",
            "ProvenceSage",
            "BlueGreen",
            "MatteWhite",
            "MatteAnthracite",
            "MatteBronze"
          ]
        },
        "countertopType": {
          "description": "Countertop. Default \"GraniteAbsoluteBlack\".",
          "type": "string",
          "enum": [
            "GraniteAbsoluteBlack",
            "GraniteLeatheredBlack",
            "DektonKelya"
          ]
        }
      }
    },
    "appliance": {
      "description": "The grill in the design now (for lower_cost).",
      "type": "object",
      "properties": {
        "brand": {
          "type": "string"
        },
        "size": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "sku": {
          "type": "string"
        },
        "msrp": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "required": [
        "brand",
        "size"
      ]
    }
  },
  "required": [
    "situation"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "situation": {
      "type": "string"
    },
    "suggestions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "offered": {
            "type": "boolean"
          }
        },
        "required": [
          "title",
          "offered"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "situation",
    "suggestions"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟡outdoor_kitchen_open_designer_for_render(firstName, lastName, email, phone, postalCode, ...)

Create the shopper's account and return a link to the 3D outdoor kitchen designer, where they get a photoreal render of their kitchen by email. Call when the user wants to see their outdoor kitchen or BBQ island, wants a render, picture or 3D design. Needs first name, last name and email: pass them if you have them; otherwise the server asks the shopper directly when the client supports it. Pass "design" to open the designer with the straight layout you priced. For a Galley, Corner L or Corner 45, pass "kitchenLayout" and no "design"; the shopper lays it out in the designer. Canonical examples: {"firstName":"Ana","lastName":"Diaz","email":"[email protected]","postalCode":"07960","design":{"width":120,"kitchenLayout":"straight","color":"BasaltGrey","countertopType":"GraniteAbsoluteBlack","cabinets":[{"type":"GrillCabinet","size":42,"grillBrand":"Alfresco","grillModelId":"ALFRESCO-36-ALXE"},{"type":"DoubleDrawerFlex","size":24},{"type":"FullDoorFlex","size":30},{"type":"SinkCabinet","size":24}]}} and {"firstName":"Ana","lastName":"Diaz","email":"[email protected]","kitchenLayout":"corner_45"}

输入模式

{
  "type": "object",
  "properties": {
    "firstName": {
      "description": "Shopper's first name. Leave out if unknown; the server asks the shopper.",
      "type": "string",
      "minLength": 1
    },
    "lastName": {
      "description": "Shopper's last name.",
      "type": "string",
      "minLength": 1
    },
    "email": {
      "description": "Shopper's email. The render or quote is delivered there and it identifies a returning shopper.",
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "type": "string"
    },
    "postalCode": {
      "description": "5-digit US ZIP, used to match a local dealer.",
      "type": "string",
      "pattern": "^\\d{5}$"
    },
    "city": {
      "type": "string"
    },
    "state": {
      "description": "2-letter US state.",
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "gasType": {
      "type": "string",
      "enum": [
        "natural_gas",
        "lp_external_tank",
        "lp_in_cabinet"
      ]
    },
    "kitchenLayout": {
      "description": "The shape the shopper wants: \"straight\", \"galley\", \"corner_L\", \"corner_45\", or \"U\" / \"promenade\" (our design team draws these; use with outdoor_kitchen_request_formal_quote). For anything but straight, leave out \"design\"; the designer opens on this shape and the shopper lays it out.",
      "type": "string",
      "enum": [
        "straight",
        "galley",
        "corner_L",
        "corner_45",
        "U",
        "promenade"
      ]
    },
    "purchaseTimeframe": {
      "type": "string",
      "enum": [
        "1-3_months",
        "3-6_months",
        "year_or_more"
      ]
    },
    "design": {
      "description": "The straight layout you priced with outdoor_kitchen_price_design; the designer opens with it. Leave out for any other shape.",
      "type": "object",
      "properties": {
        "width": {
          "type": "number",
          "exclusiveMinimum": 0,
          "description": "Total kitchen run in inches; normally the sum of the cabinet sizes (e.g. 120 for a 10 ft island)."
        },
        "cabinets": {
          "minItems": 1,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "Cabinet type exactly as returned by outdoor_kitchen_list_cabinets, e.g. \"GrillCabinet\", \"DoubleDrawerFlex\", \"FullDoorFlex\", \"SinkCabinet\", \"CTS\" (refrigerator), \"SideBurnerCabinet\", \"PowerBurnerCabinet\"."
              },
              "size": {
                "type": "number",
                "exclusiveMinimum": 0,
                "description": "Cabinet width in inches, one of the sizes listed for that type (e.g. 24, 30, 36, 42)."
              },
              "grillBrand": {
                "description": "For a GrillCabinet: the grill brand, e.g. \"Alfresco\", \"DCS\", \"AOG\".",
                "type": "string"
              },
              "grillModelId": {
                "description": "For a GrillCabinet: the grill SKU from outdoor_kitchen_search_built_in_grills, e.g. \"ALFRESCO-36-ALXE\".",
                "type": "string"
              }
            },
            "required": [
              "type",
              "size"
            ]
          },
          "description": "Cabinets left to right along the one straight run."
        },
        "kitchenLayout": {
          "description": "Always \"straight\": these tools build one run of cabinets. For a Galley, Corner L or Corner 45, open the designer with kitchenLayout set and no design.",
          "type": "string",
          "enum": [
            "straight"
          ]
        },
        "color": {
          "description": "Cabinet powder-coat colour. Default \"BasaltGrey\".",
          "type": "string",
          "enum": [
            "BasaltGrey",
            "AegeanBlue",
            "JetBlack",
            "PureWhite",
            "Cappuccino",
            "BurgundyRed",
            "ParisianGreen",
            "ProvenceSage",
            "BlueGreen",
            "MatteWhite",
            "MatteAnthracite",
            "MatteBronze"
          ]
        },
        "countertopType": {
          "description": "Countertop. Default \"GraniteAbsoluteBlack\".",
          "type": "string",
          "enum": [
            "GraniteAbsoluteBlack",
            "GraniteLeatheredBlack",
            "DektonKelya"
          ]
        }
      },
      "required": [
        "width",
        "cabinets"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "opened",
        "code_needed",
        "declined"
      ]
    },
    "purpose": {
      "type": "string"
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "purpose"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟡outdoor_kitchen_request_formal_quote(firstName, lastName, email, phone, postalCode, ...)

Create the shopper's account and return a link to the designer where they finish their layout and receive a formal, itemized quote; a local dealer follows up. Call when the user wants a quote, an exact price from a dealer, or to buy an outdoor kitchen or built-in grill. Also the way to get a U-Shape or Promenade kitchen: pass kitchenLayout "U" or "promenade" and our design team draws it for the shopper. Needs first name, last name and email (pass them, or the server asks the shopper directly when the client supports it). ZIP helps match a dealer. Canonical example: {"firstName":"Ana","lastName":"Diaz","email":"[email protected]","postalCode":"07960","purchaseTimeframe":"1-3_months","design":{"width":120,"kitchenLayout":"straight","color":"BasaltGrey","countertopType":"GraniteAbsoluteBlack","cabinets":[{"type":"GrillCabinet","size":42,"grillBrand":"Alfresco","grillModelId":"ALFRESCO-36-ALXE"},{"type":"DoubleDrawerFlex","size":24},{"type":"FullDoorFlex","size":30},{"type":"SinkCabinet","size":24}]}}

输入模式

{
  "type": "object",
  "properties": {
    "firstName": {
      "description": "Shopper's first name. Leave out if unknown; the server asks the shopper.",
      "type": "string",
      "minLength": 1
    },
    "lastName": {
      "description": "Shopper's last name.",
      "type": "string",
      "minLength": 1
    },
    "email": {
      "description": "Shopper's email. The render or quote is delivered there and it identifies a returning shopper.",
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "type": "string"
    },
    "postalCode": {
      "description": "5-digit US ZIP, used to match a local dealer.",
      "type": "string",
      "pattern": "^\\d{5}$"
    },
    "city": {
      "type": "string"
    },
    "state": {
      "description": "2-letter US state.",
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "gasType": {
      "type": "string",
      "enum": [
        "natural_gas",
        "lp_external_tank",
        "lp_in_cabinet"
      ]
    },
    "kitchenLayout": {
      "description": "The shape the shopper wants: \"straight\", \"galley\", \"corner_L\", \"corner_45\", or \"U\" / \"promenade\" (our design team draws these; use with outdoor_kitchen_request_formal_quote). For anything but straight, leave out \"design\"; the designer opens on this shape and the shopper lays it out.",
      "type": "string",
      "enum": [
        "straight",
        "galley",
        "corner_L",
        "corner_45",
        "U",
        "promenade"
      ]
    },
    "purchaseTimeframe": {
      "type": "string",
      "enum": [
        "1-3_months",
        "3-6_months",
        "year_or_more"
      ]
    },
    "design": {
      "description": "The straight layout you priced with outdoor_kitchen_price_design; the designer opens with it. Leave out for any other shape.",
      "type": "object",
      "properties": {
        "width": {
          "type": "number",
          "exclusiveMinimum": 0,
          "description": "Total kitchen run in inches; normally the sum of the cabinet sizes (e.g. 120 for a 10 ft island)."
        },
        "cabinets": {
          "minItems": 1,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "Cabinet type exactly as returned by outdoor_kitchen_list_cabinets, e.g. \"GrillCabinet\", \"DoubleDrawerFlex\", \"FullDoorFlex\", \"SinkCabinet\", \"CTS\" (refrigerator), \"SideBurnerCabinet\", \"PowerBurnerCabinet\"."
              },
              "size": {
                "type": "number",
                "exclusiveMinimum": 0,
                "description": "Cabinet width in inches, one of the sizes listed for that type (e.g. 24, 30, 36, 42)."
              },
              "grillBrand": {
                "description": "For a GrillCabinet: the grill brand, e.g. \"Alfresco\", \"DCS\", \"AOG\".",
                "type": "string"
              },
              "grillModelId": {
                "description": "For a GrillCabinet: the grill SKU from outdoor_kitchen_search_built_in_grills, e.g. \"ALFRESCO-36-ALXE\".",
                "type": "string"
              }
            },
            "required": [
              "type",
              "size"
            ]
          },
          "description": "Cabinets left to right along the one straight run."
        },
        "kitchenLayout": {
          "description": "Always \"straight\": these tools build one run of cabinets. For a Galley, Corner L or Corner 45, open the designer with kitchenLayout set and no design.",
          "type": "string",
          "enum": [
            "straight"
          ]
        },
        "color": {
          "description": "Cabinet powder-coat colour. Default \"BasaltGrey\".",
          "type": "string",
          "enum": [
            "BasaltGrey",
            "AegeanBlue",
            "JetBlack",
            "PureWhite",
            "Cappuccino",
            "BurgundyRed",
            "ParisianGreen",
            "ProvenceSage",
            "BlueGreen",
            "MatteWhite",
            "MatteAnthracite",
            "MatteBronze"
          ]
        },
        "countertopType": {
          "description": "Countertop. Default \"GraniteAbsoluteBlack\".",
          "type": "string",
          "enum": [
            "GraniteAbsoluteBlack",
            "GraniteLeatheredBlack",
            "DektonKelya"
          ]
        }
      },
      "required": [
        "width",
        "cabinets"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "opened",
        "code_needed",
        "declined"
      ]
    },
    "purpose": {
      "type": "string"
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "purpose"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具