← WebMCP Directory

Tool tree

web-mcp-mu.vercel.app

CommerceTools verified
Website
A WebMCP commerce demo where people and browser agents work from the same cart.
Explore capabilities
    search_inventoryAnswer

    Search the current Shopify-backed local storefront inventory by product, category, budget, and stock availability.

    View tool JSON
    {
      "name": "search_inventory",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the current Shopify-backed local storefront inventory by product, category, budget, and stock availability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Words to match in the product name or description."
          },
          "category": {
            "type": "string",
            "description": "Product category such as beauty, groceries, or furniture."
          },
          "max_price": {
            "type": "number",
            "description": "Maximum item price in the store's displayed currency."
          },
          "availability": {
            "type": "string",
            "enum": [
              "in_stock",
              "low_stock",
              "all"
            ],
            "description": "Whether to show available, low-stock, or all items."
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    }
    add_to_cartAction

    Add a live Shopify inventory item to the shopper's shared cart and update the visible cart immediately.

    View tool JSON
    {
      "name": "add_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a live Shopify inventory item to the shopper's shared cart and update the visible cart immediately.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "item_id": {
            "type": "string",
            "description": "The exact Shopify variant ID in the id field returned by search_inventory (it starts gid://shopify/ProductVariant/)."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "Number of units to add."
          }
        },
        "required": [
          "item_id",
          "quantity"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    }
    get_cartAnswer

    Read the shopper's current cart: every line item with quantity, unit price, and the running total.

    View tool JSON
    {
      "name": "get_cart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the shopper's current cart: every line item with quantity, unit price, and the running total.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    }
    remove_from_cartAction

    Remove an item (or reduce its quantity) from the shopper's cart and update the visible cart immediately.

    View tool JSON
    {
      "name": "remove_from_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove an item (or reduce its quantity) from the shopper's cart and update the visible cart immediately.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "item_id": {
            "type": "string",
            "description": "The Shopify variant ID of the cart line to remove."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "Units to remove. Omit to remove the entire line."
          }
        },
        "required": [
          "item_id"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    }
    checkoutSensitive Action

    Prepare a Shopify Checkout link for everything in the cart. Requires explicit confirmation and a short-lived human verification completed on the visible Local Loop page; never submits a payment.

    View tool JSON
    {
      "name": "checkout",
      "kind": "transact",
      "impl": "imperative",
      "description": "Prepare a Shopify Checkout link for everything in the cart. Requires explicit confirmation and a short-lived human verification completed on the visible Local Loop page; never submits a payment.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "confirm": {
            "type": "boolean",
            "const": true,
            "description": "Must be true. Only pass after the shopper has approved the cart contents and total."
          }
        },
        "required": [
          "confirm"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    }
    get_order_statusAnswer

    Explain where a shopper can securely view Shopify order status after completing checkout.

    View tool JSON
    {
      "name": "get_order_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Explain where a shopper can securely view Shopify order status after completing checkout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string",
            "description": "Order ID from checkout. Omit to get the most recent order."
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    }
    fulfill_shopping_listAction

    Fulfil a whole shopping list in one call: for each entry, find the best-priced in-stock match in live inventory and add it to the cart. Returns what matched and what could not be found.

    View tool JSON
    {
      "name": "fulfill_shopping_list",
      "kind": "act",
      "impl": "imperative",
      "description": "Fulfil a whole shopping list in one call: for each entry, find the best-priced in-stock match in live inventory and add it to the cart. Returns what matched and what could not be found.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Words describing the wanted product, e.g. 'lipstick' or 'honey'."
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 20,
                  "description": "Units wanted. Defaults to 1."
                },
                "max_price": {
                  "type": "number",
                  "description": "Skip matches above this unit price in the store's displayed currency."
                }
              },
              "required": [
                "query"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 10,
            "description": "The shopping list entries to fulfil."
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    }