← WebMCP Directory

Tool tree

voice-enable-pizza-app.vercel.app

CommerceTools verified
Website
Forno
Explore capabilities
    list_pizzasAnswer

    Return the COMPLETE pizza menu only — never filters. After this, you MUST call match_pizzas with the pizza id(s) that match the customer.

    View tool JSON
    {
      "name": "list_pizzas",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the COMPLETE pizza menu only — never filters. After this, you MUST call match_pizzas with the pizza id(s) that match the customer.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    match_pizzasAction

    REQUIRED after list_pizzas. Pass the pizza id(s) that match the customer. Exactly one id scrolls the menu carousel to that pizza. Multiple ids return those pizzas without scrolling. Empty array if none match.

    View tool JSON
    {
      "name": "match_pizzas",
      "kind": "act",
      "impl": "imperative",
      "description": "REQUIRED after list_pizzas. Pass the pizza id(s) that match the customer. Exactly one id scrolls the menu carousel to that pizza. Multiple ids return those pizzas without scrolling. Empty array if none match.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pizzaIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Matching pizza ids from list_pizzas (0, 1, or many)."
          }
        },
        "required": [
          "pizzaIds"
        ]
      },
      "page": "/"
    }
    get_pizzaAction

    Load one pizza by id or name and scroll the menu to it. Prefer match_pizzas after list_pizzas for browse questions. Use get_pizza when confirming a specific pie during ordering.

    View tool JSON
    {
      "name": "get_pizza",
      "kind": "act",
      "impl": "imperative",
      "description": "Load one pizza by id or name and scroll the menu to it. Prefer match_pizzas after list_pizzas for browse questions. Use get_pizza when confirming a specific pie during ordering.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pizza id or exact/partial name from the menu."
          }
        },
        "required": [
          "id"
        ]
      },
      "page": "/"
    }
    add_customizationAction

    Set size, crust, toppings, or notes on a pizza before adding to cart, or update a cart line. Pass pizzaId for draft customization, or cartItemId to edit a cart line.

    View tool JSON
    {
      "name": "add_customization",
      "kind": "act",
      "impl": "imperative",
      "description": "Set size, crust, toppings, or notes on a pizza before adding to cart, or update a cart line. Pass pizzaId for draft customization, or cartItemId to edit a cart line.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pizzaId": {
            "type": "string",
            "description": "Menu pizza to customize (draft)."
          },
          "cartItemId": {
            "type": "string",
            "description": "Existing cart line to update."
          },
          "size": {
            "type": "string",
            "enum": [
              "sm",
              "md",
              "lg"
            ]
          },
          "crust": {
            "type": "string",
            "enum": [
              "classic",
              "thin",
              "stuffed",
              "gluten-free"
            ]
          },
          "toppings": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "mozzarella",
                "basil",
                "mushroom",
                "pepperoni",
                "olive",
                "jalapeno",
                "onion",
                "sausage"
              ]
            }
          },
          "addToppings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Topping ids to add without replacing the full list."
          },
          "removeToppings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Topping ids to remove."
          },
          "notes": {
            "type": "string"
          }
        }
      },
      "page": "/"
    }
    edit_customizationAction

    Alias of add_customization for editing size, crust, toppings, or notes.

    View tool JSON
    {
      "name": "edit_customization",
      "kind": "act",
      "impl": "imperative",
      "description": "Alias of add_customization for editing size, crust, toppings, or notes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pizzaId": {
            "type": "string"
          },
          "cartItemId": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "crust": {
            "type": "string"
          },
          "toppings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addToppings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "removeToppings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "string"
          }
        }
      },
      "page": "/"
    }
    remove_customizationAction

    Clear draft customization for a pizza, or remove specific toppings/notes from a cart line.

    View tool JSON
    {
      "name": "remove_customization",
      "kind": "act",
      "impl": "imperative",
      "description": "Clear draft customization for a pizza, or remove specific toppings/notes from a cart line.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pizzaId": {
            "type": "string"
          },
          "cartItemId": {
            "type": "string"
          },
          "toppings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "If set, only remove these toppings."
          },
          "clearNotes": {
            "type": "boolean"
          },
          "reset": {
            "type": "boolean",
            "description": "Reset to pizza defaults (draft) or clear extras on cart line."
          }
        }
      },
      "page": "/"
    }
    add_to_cartAction

    Add a menu pizza to the shopping cart with optional customization.

    View tool JSON
    {
      "name": "add_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a menu pizza to the shopping cart with optional customization.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pizzaId": {
            "type": "string",
            "description": "Pizza id or name."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1
          },
          "size": {
            "type": "string"
          },
          "crust": {
            "type": "string"
          },
          "toppings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "string"
          },
          "useDraft": {
            "type": "boolean",
            "description": "If true, use the current draft customization for this pizza."
          }
        },
        "required": [
          "pizzaId"
        ]
      },
      "page": "/"
    }
    view_cartAnswer

    Return cart lines, quantities, and totals.

    View tool JSON
    {
      "name": "view_cart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return cart lines, quantities, and totals.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    edit_cart_itemAction

    Change quantity or customization on a cart line.

    View tool JSON
    {
      "name": "edit_cart_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Change quantity or customization on a cart line.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cartItemId": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "minimum": 1
          },
          "size": {
            "type": "string"
          },
          "crust": {
            "type": "string"
          },
          "toppings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "string"
          }
        },
        "required": [
          "cartItemId"
        ]
      },
      "page": "/"
    }
    remove_from_cartAction

    Remove a cart line by cartItemId.

    View tool JSON
    {
      "name": "remove_from_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a cart line by cartItemId.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cartItemId": {
            "type": "string"
          }
        },
        "required": [
          "cartItemId"
        ]
      },
      "page": "/"
    }
    navigateAction

    Navigate to menu, cart, pizza detail (pizzaId required), or customize screen (pizzaId required).

    View tool JSON
    {
      "name": "navigate",
      "kind": "act",
      "impl": "imperative",
      "description": "Navigate to menu, cart, pizza detail (pizzaId required), or customize screen (pizzaId required).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "string",
            "enum": [
              "menu",
              "cart",
              "detail",
              "customize",
              "home"
            ]
          },
          "pizzaId": {
            "type": "string",
            "description": "Required for detail and customize."
          }
        },
        "required": [
          "page"
        ]
      },
      "page": "/"
    }
    list_optionsAnswer

    List available sizes, crusts, and toppings for customization.

    View tool JSON
    {
      "name": "list_options",
      "kind": "answer",
      "impl": "imperative",
      "description": "List available sizes, crusts, and toppings for customization.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }