← WebMCP Directory

Tool tree

cakehub-app.vercel.app

CommerceTools verified
Website
Celebration cakes, sized by servings, finished by hand, delivered on the day.
Explore capabilities
    search_cakesAnswer

    Search CakeHub's catalogue of cakes. Celebration cakes baked to order, sized by servings and delivered on the day. Returns every match with its id, price in paise and comparable attributes. Call this first on this site — the other tools all take an id that only this tool can give you. Omit a filter to leave it unconstrained; passing no filters returns everything, which is often the right move when the user's requirements are loose. The page grid visibly filters to your results, so the user can see what you are looking at.

    View tool JSON
    {
      "name": "search_cakes",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search CakeHub's catalogue of cakes. Celebration cakes baked to order, sized by servings and delivered on the day. Returns every match with its id, price in paise and comparable attributes. Call this first on this site — the other tools all take an id that only this tool can give you. Omit a filter to leave it unconstrained; passing no filters returns everything, which is often the right move when the user's requirements are loose. The page grid visibly filters to your results, so the user can see what you are looking at.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Free-text search across cake name, flavour, tags and description. e.g. \"chocolate\", \"eggless\", \"Pokémon\"."
          },
          "maxBudgetInPaise": {
            "type": "number",
            "description": "Highest acceptable price in paise (₹2,000 = 200000)."
          },
          "guests": {
            "type": "number",
            "description": "How many people the cake must serve. Filters out cakes that are too small."
          },
          "flavour": {
            "type": "string",
            "description": "Flavour family, e.g. chocolate, vanilla, mango, pistachio, strawberry."
          },
          "theme": {
            "type": "string",
            "description": "Decoration theme, e.g. \"Pokémon\", \"unicorn\". Matched against the cake's design tags."
          },
          "eggless": {
            "type": "boolean",
            "description": "Restrict to eggless cakes."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "Cap the number of results. Defaults to all matches."
          }
        },
        "additionalProperties": false
      }
    }
    get_cake_detailsAnswer

    Get everything CakeHub knows about one cake: full attributes, inclusions, and the dates it can serve. Use before recommending something, so you can describe it accurately instead of paraphrasing a search result.

    View tool JSON
    {
      "name": "get_cake_details",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get everything CakeHub knows about one cake: full attributes, inclusions, and the dates it can serve. Use before recommending something, so you can describe it accurately instead of paraphrasing a search result.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id from search_cakes."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      }
    }
    check_deliveryAnswer

    Check whether a specific cake can serve a given date, and for how many people. Always call this before ordering — search results do not account for the event date, so a cake that looks perfect may be unavailable.

    View tool JSON
    {
      "name": "check_delivery",
      "kind": "answer",
      "impl": "imperative",
      "description": "Check whether a specific cake can serve a given date, and for how many people. Always call this before ordering — search results do not account for the event date, so a cake that looks perfect may be unavailable.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "ISO date, e.g. 2026-09-12."
          },
          "guests": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of people to serve."
          }
        },
        "required": [
          "id",
          "date"
        ],
        "additionalProperties": false
      }
    }
    get_priceAnswer

    Get the final price for a cake at a given headcount, including any per-head charges and applicable discounts. The price in search results is a base price — use this for anything you put in a budget the user will see.

    View tool JSON
    {
      "name": "get_price",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the final price for a cake at a given headcount, including any per-head charges and applicable discounts. The price in search results is a base price — use this for anything you put in a budget the user will see.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "guests": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      }
    }
    order_cakeSensitive Action

    Order a cake at CakeHub. THIS IS CONSEQUENTIAL AND IRREVERSIBLE. Only call it after the user has explicitly approved this specific cake at this specific price — not merely said the plan looks good in general. Returns a confirmation reference. Calling it twice for the same cake and date returns the existing booking rather than duplicating it.

    View tool JSON
    {
      "name": "order_cake",
      "kind": "transact",
      "impl": "imperative",
      "description": "Order a cake at CakeHub. THIS IS CONSEQUENTIAL AND IRREVERSIBLE. Only call it after the user has explicitly approved this specific cake at this specific price — not merely said the plan looks good in general. Returns a confirmation reference. Calling it twice for the same cake and date returns the existing booking rather than duplicating it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "guests": {
            "type": "integer",
            "minimum": 1
          },
          "contactName": {
            "type": "string",
            "description": "Who the booking is for."
          }
        },
        "required": [
          "id",
          "date"
        ],
        "additionalProperties": false
      }
    }