← WebMCP Directory

Tool tree

cloud-kitchen-os-ai.vercel.app

Productivity & BusinessTools verified
Website
AI-agent operating system for a multi-brand cloud kitchen (demo).
Explore capabilities

    page: Every page

    navigate_toAction

    Open a page of the app so the user can see it. Use when the user asks to see or go somewhere, or before explaining something on screen.

    View tool JSON
    {
      "name": "navigate_to",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a page of the app so the user can see it. Use when the user asks to see or go somewhere, or before explaining something on screen.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "string",
            "enum": [
              "/",
              "/orders",
              "/sales",
              "/menu",
              "/inventory",
              "/billing",
              "/marketing",
              "/finance",
              "/customers",
              "/staff",
              "/settings"
            ],
            "description": "Route of the page"
          }
        },
        "required": [
          "page"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    get_kitchen_overviewAnswer

    Snapshot of today: revenue so far, order counts by status, low-stock count, overdue invoices, pending payouts, average rating, live campaigns.

    View tool JSON
    {
      "name": "get_kitchen_overview",
      "kind": "answer",
      "impl": "imperative",
      "description": "Snapshot of today: revenue so far, order counts by status, low-stock count, overdue invoices, pending payouts, average rating, live campaigns.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    get_activity_logAnswer

    Recent actions taken in the app by the user or the agent.

    View tool JSON
    {
      "name": "get_activity_log",
      "kind": "answer",
      "impl": "imperative",
      "description": "Recent actions taken in the app by the user or the agent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "default": 15,
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    query_salesAnswer

    Revenue, orders, average order value and food cost. Group by day, brand or channel; optionally filter by brand or channel.

    View tool JSON
    {
      "name": "query_sales",
      "kind": "answer",
      "impl": "imperative",
      "description": "Revenue, orders, average order value and food cost. Group by day, brand or channel; optionally filter by brand or channel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "days": {
            "default": 7,
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          },
          "groupBy": {
            "default": "day",
            "type": "string",
            "enum": [
              "day",
              "brand",
              "channel"
            ]
          },
          "brandId": {
            "type": "string",
            "enum": [
              "b-tandoor",
              "b-bowl",
              "b-crust"
            ]
          },
          "channel": {
            "type": "string",
            "enum": [
              "dashbite",
              "foodrun",
              "direct"
            ]
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    get_top_itemsAnswer

    Best-selling menu items today by revenue, with quantity and gross margin.

    View tool JSON
    {
      "name": "get_top_items",
      "kind": "answer",
      "impl": "imperative",
      "description": "Best-selling menu items today by revenue, with quantity and gross margin.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "default": 8,
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_ordersAnswer

    Today's orders, newest first. Filter by status or brand.

    View tool JSON
    {
      "name": "list_orders",
      "kind": "answer",
      "impl": "imperative",
      "description": "Today's orders, newest first. Filter by status or brand.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "new",
              "preparing",
              "ready",
              "dispatched",
              "delivered",
              "cancelled"
            ]
          },
          "brandId": {
            "type": "string",
            "enum": [
              "b-tandoor",
              "b-bowl",
              "b-crust"
            ]
          },
          "limit": {
            "default": 15,
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    update_order_statusAction

    Move an order along the kitchen line (new -> preparing -> ready -> dispatched -> delivered).

    View tool JSON
    {
      "name": "update_order_status",
      "kind": "act",
      "impl": "imperative",
      "description": "Move an order along the kitchen line (new -> preparing -> ready -> dispatched -> delivered).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "order": {
            "type": "string",
            "description": "Order id (o-12) or number (#4112)"
          },
          "status": {
            "type": "string",
            "enum": [
              "preparing",
              "ready",
              "dispatched",
              "delivered"
            ]
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "order",
          "status"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    create_manual_orderSensitive Action

    Create a phone or walk-in order. All items must belong to the chosen brand; use list_menu for item ids.

    View tool JSON
    {
      "name": "create_manual_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Create a phone or walk-in order. All items must belong to the chosen brand; use list_menu for item ids.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "minLength": 1,
            "description": "Brand id"
          },
          "channel": {
            "default": "direct",
            "type": "string",
            "enum": [
              "dashbite",
              "foodrun",
              "direct"
            ]
          },
          "customerName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "phone": {
            "type": "string",
            "maxLength": 20
          },
          "lines": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "itemId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Menu item id"
                },
                "qty": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 20
                }
              },
              "required": [
                "itemId",
                "qty"
              ]
            }
          },
          "couponCode": {
            "type": "string",
            "maxLength": 20
          },
          "note": {
            "type": "string",
            "maxLength": 200
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "brandId",
          "customerName",
          "lines"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    refund_orderSensitive Action

    Cancel and refund an order. Always confirm with the user first; the app will also ask them.

    View tool JSON
    {
      "name": "refund_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Cancel and refund an order. Always confirm with the user first; the app will also ask them.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "order": {
            "type": "string",
            "description": "Order id or number"
          },
          "reason": {
            "type": "string",
            "maxLength": 120
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "order"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_menuAnswer

    Menu items with id, brand, price, food cost, margin and availability.

    View tool JSON
    {
      "name": "list_menu",
      "kind": "answer",
      "impl": "imperative",
      "description": "Menu items with id, brand, price, food cost, margin and availability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "enum": [
              "b-tandoor",
              "b-bowl",
              "b-crust"
            ]
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    add_menu_itemAction

    Add a new item to a brand's menu.

    View tool JSON
    {
      "name": "add_menu_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a new item to a brand's menu.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "minLength": 1,
            "description": "Brand id"
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "category": {
            "type": "string",
            "minLength": 2,
            "maxLength": 30
          },
          "price": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Menu price incl. nothing else, in the kitchen currency"
          },
          "prepMins": {
            "default": 10,
            "type": "integer",
            "minimum": 1,
            "maximum": 60
          },
          "available": {
            "default": true,
            "type": "boolean"
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "brandId",
          "name",
          "category",
          "price"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    set_item_priceAction

    Change a menu item's price.

    View tool JSON
    {
      "name": "set_item_price",
      "kind": "act",
      "impl": "imperative",
      "description": "Change a menu item's price.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "minLength": 1,
            "description": "Menu item id"
          },
          "price": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "itemId",
          "price"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    set_item_availabilityAction

    Mark a menu item sold out (86) or available again.

    View tool JSON
    {
      "name": "set_item_availability",
      "kind": "act",
      "impl": "imperative",
      "description": "Mark a menu item sold out (86) or available again.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string"
          },
          "available": {
            "type": "boolean"
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "itemId",
          "available"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_inventoryAnswer

    Ingredients with stock, par level, unit, unit cost and default supplier.

    View tool JSON
    {
      "name": "list_inventory",
      "kind": "answer",
      "impl": "imperative",
      "description": "Ingredients with stock, par level, unit, unit cost and default supplier.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "onlyLow": {
            "default": false,
            "description": "Only items under 60% of par",
            "type": "boolean"
          },
          "category": {
            "type": "string",
            "enum": [
              "Produce",
              "Dairy",
              "Protein",
              "Dry goods",
              "Packaging",
              "Sauces"
            ]
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_suppliersAnswer

    Suppliers with categories, lead time, rating and price factor (multiplier on base cost; lower is cheaper).

    View tool JSON
    {
      "name": "list_suppliers",
      "kind": "answer",
      "impl": "imperative",
      "description": "Suppliers with categories, lead time, rating and price factor (multiplier on base cost; lower is cheaper).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "Produce",
              "Dairy",
              "Protein",
              "Dry goods",
              "Packaging",
              "Sauces"
            ]
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_purchase_ordersAnswer

    Purchase orders with supplier, status, lines and total.

    View tool JSON
    {
      "name": "list_purchase_orders",
      "kind": "answer",
      "impl": "imperative",
      "description": "Purchase orders with supplier, status, lines and total.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "sent",
              "received",
              "cancelled"
            ]
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    create_purchase_orderSensitive Action

    Draft a purchase order to one supplier. Check list_suppliers first; a supplier should cover the ingredient's category. Use send_purchase_order afterwards if the user wants it sent.

    View tool JSON
    {
      "name": "create_purchase_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Draft a purchase order to one supplier. Check list_suppliers first; a supplier should cover the ingredient's category. Use send_purchase_order afterwards if the user wants it sent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "supplierId": {
            "type": "string",
            "minLength": 1,
            "description": "Supplier id, e.g. s-dairyco. Use list_suppliers to find one."
          },
          "lines": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ingredientId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Ingredient id"
                },
                "qty": {
                  "type": "number",
                  "exclusiveMinimum": 0,
                  "description": "Quantity in the ingredient's unit"
                }
              },
              "required": [
                "ingredientId",
                "qty"
              ]
            },
            "description": "Ingredients to order"
          },
          "expectedInDays": {
            "default": 1,
            "description": "Days until delivery",
            "type": "integer",
            "minimum": 0,
            "maximum": 14
          },
          "notes": {
            "description": "Note for the supplier",
            "type": "string",
            "maxLength": 240
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "supplierId",
          "lines"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    send_purchase_orderSensitive Action

    Send a draft purchase order to its supplier.

    View tool JSON
    {
      "name": "send_purchase_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Send a draft purchase order to its supplier.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "po": {
            "type": "string",
            "description": "PO id or number, e.g. PO-1022"
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "po"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    receive_purchase_orderSensitive Action

    Mark a purchase order as delivered; adds its quantities to stock.

    View tool JSON
    {
      "name": "receive_purchase_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Mark a purchase order as delivered; adds its quantities to stock.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "po": {
            "type": "string"
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "po"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    log_wasteAction

    Record wasted stock; it is deducted from inventory.

    View tool JSON
    {
      "name": "log_waste",
      "kind": "act",
      "impl": "imperative",
      "description": "Record wasted stock; it is deducted from inventory.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ingredientId": {
            "type": "string",
            "minLength": 1,
            "description": "Ingredient id"
          },
          "qty": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "reason": {
            "type": "string",
            "enum": [
              "Expired",
              "Spoiled",
              "Overproduced",
              "Dropped",
              "Returned"
            ]
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "ingredientId",
          "qty",
          "reason"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    adjust_stockAction

    Set an ingredient's stock to a counted value.

    View tool JSON
    {
      "name": "adjust_stock",
      "kind": "act",
      "impl": "imperative",
      "description": "Set an ingredient's stock to a counted value.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ingredientId": {
            "type": "string",
            "minLength": 1,
            "description": "Ingredient id"
          },
          "stock": {
            "type": "number",
            "minimum": 0,
            "description": "New counted stock level"
          },
          "reason": {
            "type": "string",
            "maxLength": 120
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "ingredientId",
          "stock"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_wasteAnswer

    Recent waste entries with cost.

    View tool JSON
    {
      "name": "list_waste",
      "kind": "answer",
      "impl": "imperative",
      "description": "Recent waste entries with cost.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_invoicesAnswer

    Catering and corporate invoices with totals and status.

    View tool JSON
    {
      "name": "list_invoices",
      "kind": "answer",
      "impl": "imperative",
      "description": "Catering and corporate invoices with totals and status.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "sent",
              "paid",
              "overdue"
            ]
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    create_invoiceSensitive Action

    Create and send an invoice to a catering or corporate client.

    View tool JSON
    {
      "name": "create_invoice",
      "kind": "transact",
      "impl": "imperative",
      "description": "Create and send an invoice to a catering or corporate client.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "client": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "email": {
            "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,}$"
          },
          "lines": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "description": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 120
                },
                "qty": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "rate": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "required": [
                "description",
                "qty",
                "rate"
              ]
            }
          },
          "taxPct": {
            "default": 5,
            "type": "number",
            "minimum": 0,
            "maximum": 28
          },
          "dueInDays": {
            "default": 15,
            "type": "integer",
            "minimum": 0,
            "maximum": 90
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "client",
          "email",
          "lines"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    mark_invoice_paidAction

    Record payment for an invoice.

    View tool JSON
    {
      "name": "mark_invoice_paid",
      "kind": "act",
      "impl": "imperative",
      "description": "Record payment for an invoice.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "invoice": {
            "type": "string",
            "description": "Invoice id or number"
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "invoice"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_payoutsAnswer

    Weekly DashBite and FoodRun payouts: gross, commission, adjustments, net, status and notes. Commission rates: DashBite 24%, FoodRun 21%.

    View tool JSON
    {
      "name": "list_payouts",
      "kind": "answer",
      "impl": "imperative",
      "description": "Weekly DashBite and FoodRun payouts: gross, commission, adjustments, net, status and notes. Commission rates: DashBite 24%, FoodRun 21%.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "reconciled",
              "disputed"
            ]
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    set_payout_statusAction

    Mark a payout reconciled, or raise a dispute with a note.

    View tool JSON
    {
      "name": "set_payout_status",
      "kind": "act",
      "impl": "imperative",
      "description": "Mark a payout reconciled, or raise a dispute with a note.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "payoutId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "reconciled",
              "disputed",
              "pending"
            ]
          },
          "note": {
            "type": "string",
            "maxLength": 200
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "payoutId",
          "status"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    get_pnlAnswer

    Month-to-date profit and loss: revenue, food cost, aggregator commissions, labour, rent, marketing, other, net; plus budget vs actual by category.

    View tool JSON
    {
      "name": "get_pnl",
      "kind": "answer",
      "impl": "imperative",
      "description": "Month-to-date profit and loss: revenue, food cost, aggregator commissions, labour, rent, marketing, other, net; plus budget vs actual by category.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "month": {
            "description": "YYYY-MM, defaults to this month",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}$"
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_expensesAnswer

    Recorded expenses, newest first.

    View tool JSON
    {
      "name": "list_expenses",
      "kind": "answer",
      "impl": "imperative",
      "description": "Recorded expenses, newest first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "Rent",
              "Utilities",
              "Salaries",
              "Marketing",
              "Packaging",
              "Maintenance",
              "Software",
              "Other"
            ]
          },
          "limit": {
            "default": 20,
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    add_expenseAction

    Record an expense.

    View tool JSON
    {
      "name": "add_expense",
      "kind": "act",
      "impl": "imperative",
      "description": "Record an expense.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "Rent",
              "Utilities",
              "Salaries",
              "Marketing",
              "Packaging",
              "Maintenance",
              "Software",
              "Other"
            ]
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "vendor": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "date": {
            "description": "YYYY-MM-DD, defaults to today",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "note": {
            "type": "string",
            "maxLength": 200
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "category",
          "amount",
          "vendor"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    set_budgetAction

    Set a monthly budget for an expense category.

    View tool JSON
    {
      "name": "set_budget",
      "kind": "act",
      "impl": "imperative",
      "description": "Set a monthly budget for an expense category.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "Rent",
              "Utilities",
              "Salaries",
              "Marketing",
              "Packaging",
              "Maintenance",
              "Software",
              "Other"
            ]
          },
          "monthly": {
            "type": "number",
            "minimum": 0
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "category",
          "monthly"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_campaignsAnswer

    Marketing campaigns with budget, spend, impressions, attributed orders and status.

    View tool JSON
    {
      "name": "list_campaigns",
      "kind": "answer",
      "impl": "imperative",
      "description": "Marketing campaigns with budget, spend, impressions, attributed orders and status.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    create_campaignAction

    Create a campaign. Starts live if startInDays is 0, otherwise scheduled.

    View tool JSON
    {
      "name": "create_campaign",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a campaign. Starts live if startInDays is 0, otherwise scheduled.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 60
          },
          "brandId": {
            "type": "string",
            "minLength": 1,
            "description": "Brand id"
          },
          "channel": {
            "type": "string",
            "enum": [
              "dashbite",
              "foodrun",
              "direct",
              "instagram",
              "sms"
            ]
          },
          "budget": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "startInDays": {
            "default": 0,
            "type": "integer",
            "minimum": 0,
            "maximum": 60
          },
          "durationDays": {
            "default": 14,
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          },
          "couponCode": {
            "description": "Optional existing coupon to attach",
            "type": "string",
            "maxLength": 20
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "name",
          "brandId",
          "channel",
          "budget"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    set_campaign_statusAction

    Pause, resume (live) or end a campaign.

    View tool JSON
    {
      "name": "set_campaign_status",
      "kind": "act",
      "impl": "imperative",
      "description": "Pause, resume (live) or end a campaign.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "live",
              "paused",
              "ended"
            ]
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "campaignId",
          "status"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_couponsAnswer

    Coupon codes with discount, minimum order, brand, validity and usage.

    View tool JSON
    {
      "name": "list_coupons",
      "kind": "answer",
      "impl": "imperative",
      "description": "Coupon codes with discount, minimum order, brand, validity and usage.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    create_couponAction

    Create a coupon code. Code must be capital letters and digits.

    View tool JSON
    {
      "name": "create_coupon",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a coupon code. Code must be capital letters and digits.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 3,
            "maxLength": 20,
            "pattern": "^[A-Z0-9]+$"
          },
          "discountPct": {
            "type": "number",
            "minimum": 1,
            "maximum": 60
          },
          "minOrder": {
            "default": 0,
            "type": "number",
            "minimum": 0
          },
          "brandId": {
            "default": "all",
            "description": "Brand id or 'all'",
            "type": "string"
          },
          "validDays": {
            "default": 30,
            "type": "integer",
            "minimum": 1,
            "maximum": 180
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "code",
          "discountPct"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    toggle_couponAction

    Activate or pause a coupon.

    View tool JSON
    {
      "name": "toggle_coupon",
      "kind": "act",
      "impl": "imperative",
      "description": "Activate or pause a coupon.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "coupon": {
            "type": "string",
            "description": "Coupon id or code"
          },
          "active": {
            "type": "boolean"
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "coupon",
          "active"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_reviewsAnswer

    Customer reviews from DashBite and FoodRun with rating, text, any reply, and Jev's topic and urgency tags (urgency 0 to 1). Sorted most urgent first.

    View tool JSON
    {
      "name": "list_reviews",
      "kind": "answer",
      "impl": "imperative",
      "description": "Customer reviews from DashBite and FoodRun with rating, text, any reply, and Jev's topic and urgency tags (urgency 0 to 1). Sorted most urgent first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxRating": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "unrepliedOnly": {
            "default": false,
            "type": "boolean"
          },
          "urgentOnly": {
            "default": false,
            "description": "Only reviews Jev tagged as needing a reply today",
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    reply_to_reviewSensitive Action

    Post a public reply to a review. Keep it short, specific and warm; apologise and offer a fix for complaints.

    View tool JSON
    {
      "name": "reply_to_review",
      "kind": "transact",
      "impl": "imperative",
      "description": "Post a public reply to a review. Keep it short, specific and warm; apologise and offer a fix for complaints.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "reviewId": {
            "type": "string",
            "minLength": 1,
            "description": "Review id"
          },
          "reply": {
            "type": "string",
            "minLength": 5,
            "maxLength": 500
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "reviewId",
          "reply"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_customersAnswer

    Customers with orders, lifetime value, last order date, tags and notes.

    View tool JSON
    {
      "name": "list_customers",
      "kind": "answer",
      "impl": "imperative",
      "description": "Customers with orders, lifetime value, last order date, tags and notes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "description": "Name contains",
            "type": "string"
          },
          "tag": {
            "type": "string"
          },
          "sort": {
            "default": "ltv",
            "type": "string",
            "enum": [
              "ltv",
              "recent",
              "lapsed"
            ]
          },
          "limit": {
            "default": 10,
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    annotate_customerAction

    Add a note and/or tag to a customer.

    View tool JSON
    {
      "name": "annotate_customer",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a note and/or tag to a customer.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "Customer id"
          },
          "note": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "tag": {
            "type": "string",
            "minLength": 2,
            "maxLength": 24
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "customerId"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    list_staff_scheduleAnswer

    Staff (id, name, role, hourly rate) and their shifts for the next 7 days. Optionally filter one date.

    View tool JSON
    {
      "name": "list_staff_schedule",
      "kind": "answer",
      "impl": "imperative",
      "description": "Staff (id, name, role, hourly rate) and their shifts for the next 7 days. Optionally filter one date.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    add_shiftAction

    Add a shift for a staff member.

    View tool JSON
    {
      "name": "add_shift",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a shift for a staff member.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "staffId": {
            "type": "string",
            "minLength": 1,
            "description": "Staff member id"
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "YYYY-MM-DD"
          },
          "start": {
            "type": "string",
            "pattern": "^\\d{2}:\\d{2}$",
            "description": "HH:MM 24h"
          },
          "end": {
            "type": "string",
            "pattern": "^\\d{2}:\\d{2}$",
            "description": "HH:MM 24h"
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          },
          "submit": {
            "type": "boolean",
            "description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
          }
        },
        "required": [
          "staffId",
          "date",
          "start",
          "end"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    remove_shiftAction

    Delete a scheduled shift.

    View tool JSON
    {
      "name": "remove_shift",
      "kind": "act",
      "impl": "imperative",
      "description": "Delete a scheduled shift.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "shiftId": {
            "type": "string"
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "shiftId"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }
    set_themeAction

    Switch the app between light, dark and system theme.

    View tool JSON
    {
      "name": "set_theme",
      "kind": "act",
      "impl": "imperative",
      "description": "Switch the app between light, dark and system theme.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "enum": [
              "light",
              "dark",
              "system"
            ]
          },
          "visible": {
            "type": "boolean",
            "description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
          }
        },
        "required": [
          "theme"
        ],
        "additionalProperties": false
      },
      "page": "/cloud-kitchen-os"
    }