← WebMCP Directory

Tool tree

handrail-fawn.vercel.app

CommerceTools verified
Website
An accessible errands app for people with low vision or limited mobility. The agent runs the whole shopping flow through WebMCP tools; the person just says yes.
Explore capabilities
    get_profileAnswer

    Read the shopper's profile: name, delivery address, accessibility needs, diet, delivery preferences, payment on file, and their 'usuals' (item ids they buy every week). Call this first.

    View tool JSON
    {
      "name": "get_profile",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the shopper's profile: name, delivery address, accessibility needs, diet, delivery preferences, payment on file, and their 'usuals' (item ids they buy every week). Call this first.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    search_catalogAnswer

    Search the store by words or tags (e.g. 'sore throat', 'low sodium', 'cat') and optional category (grocery, pharmacy, household). Returns id, name, price, unit, tags.

    View tool JSON
    {
      "name": "search_catalog",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the store by words or tags (e.g. 'sore throat', 'low sodium', 'cat') and optional category (grocery, pharmacy, household). Returns id, name, price, unit, tags.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "grocery",
              "pharmacy",
              "household"
            ]
          }
        }
      }
    }
    add_to_cartAction

    Add an item (by id or name) with a quantity. Adds to any existing quantity.

    View tool JSON
    {
      "name": "add_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Add an item (by id or name) with a quantity. Adds to any existing quantity.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "item"
        ]
      }
    }
    set_quantityAction

    Set the exact quantity of an item already in the cart (0 removes it).

    View tool JSON
    {
      "name": "set_quantity",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the exact quantity of an item already in the cart (0 removes it).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "item",
          "quantity"
        ]
      }
    }
    remove_from_cartAction

    Remove an item from the cart.

    View tool JSON
    {
      "name": "remove_from_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove an item from the cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "string"
          }
        },
        "required": [
          "item"
        ]
      }
    }
    get_cartAnswer

    Read the cart: every line with quantity and price, subtotal, delivery fee, total, and the chosen delivery slot.

    View tool JSON
    {
      "name": "get_cart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the cart: every line with quantity and price, subtotal, delivery fee, total, and the chosen delivery slot.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    set_delivery_slotAction

    Choose a delivery window. Accepts a slot id from list_delivery_slots or plain words like 'Tuesday morning'. Windows are morning (9–11), afternoon (1–3), evening (5–7).

    View tool JSON
    {
      "name": "set_delivery_slot",
      "kind": "act",
      "impl": "imperative",
      "description": "Choose a delivery window. Accepts a slot id from list_delivery_slots or plain words like 'Tuesday morning'. Windows are morning (9–11), afternoon (1–3), evening (5–7).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slot": {
            "type": "string"
          }
        },
        "required": [
          "slot"
        ]
      }
    }
    list_delivery_slotsAnswer

    List the available delivery windows for the next six days.

    View tool JSON
    {
      "name": "list_delivery_slots",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the available delivery windows for the next six days.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    confirm_with_personAction

    REQUIRED before place_order. Shows the person a large on-screen summary (also read aloud) and waits for them to tap or say Yes or No. Pass a short spoken-style summary: items, total, delivery time. Returns 'confirmed' or 'declined'. Do not place the order if declined; ask what to change.

    View tool JSON
    {
      "name": "confirm_with_person",
      "kind": "act",
      "impl": "imperative",
      "description": "REQUIRED before place_order. Shows the person a large on-screen summary (also read aloud) and waits for them to tap or say Yes or No. Pass a short spoken-style summary: items, total, delivery time. Returns 'confirmed' or 'declined'. Do not place the order if declined; ask what to change.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "summary"
        ]
      }
    }
    place_orderSensitive Action

    Place the order for the current cart and delivery slot using the payment on file. Only after confirm_with_person returned 'confirmed'.

    View tool JSON
    {
      "name": "place_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Place the order for the current cart and delivery slot using the payment on file. Only after confirm_with_person returned 'confirmed'.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    get_ordersAnswer

    Read recent orders with status (placed, packing, on the way, delivered), items, total and delivery window.

    View tool JSON
    {
      "name": "get_orders",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read recent orders with status (placed, packing, on the way, delivered), items, total and delivery window.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    reorder_lastAction

    Put everything from the most recent order back into the cart.

    View tool JSON
    {
      "name": "reorder_last",
      "kind": "act",
      "impl": "imperative",
      "description": "Put everything from the most recent order back into the cart.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }