← WebMCP Directory

Tool tree

kshitijijari09.github.io

CommerceTools verified
Website
webmcp-schemas storefront demo
Explore capabilities
    search_productsAnswer

    Search the store's product catalog by free-text query, with optional price and category filters. Use this first when you don't yet know a specific product's ID or exact name. Use check_stock instead once you already have a productId and only need to know availability. Use apply_filters instead of repeating this call if you just need to narrow the current results without changing the search term.

    View tool JSON
    {
      "name": "search_products",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the store's product catalog by free-text query, with optional price and category filters. Use this first when you don't yet know a specific product's ID or exact name. Use check_stock instead once you already have a productId and only need to know availability. Use apply_filters instead of repeating this call if you just need to narrow the current results without changing the search term.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1
          },
          "category": {
            "type": "string"
          },
          "minPrice": {
            "type": "number",
            "minimum": 0
          },
          "maxPrice": {
            "type": "number",
            "minimum": 0
          },
          "sortBy": {
            "type": "string",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc",
              "rating"
            ]
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "page": "/webmcp-schemas/"
    }
    apply_filtersAction

    Narrow the current product listing using structured filters (category, brand, price range, minimum rating, in-stock only) without changing the search term. Use this after search_products when refining an existing result set with facets; use search_products directly instead if the user wants a different search term, not just narrower results.

    View tool JSON
    {
      "name": "apply_filters",
      "kind": "act",
      "impl": "imperative",
      "description": "Narrow the current product listing using structured filters (category, brand, price range, minimum rating, in-stock only) without changing the search term. Use this after search_products when refining an existing result set with facets; use search_products directly instead if the user wants a different search term, not just narrower results.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "minPrice": {
            "type": "number",
            "minimum": 0
          },
          "maxPrice": {
            "type": "number",
            "minimum": 0
          },
          "minRating": {
            "type": "number",
            "minimum": 0,
            "maximum": 5
          },
          "inStockOnly": {
            "type": "boolean"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/webmcp-schemas/"
    }
    check_stockAnswer

    Check real-time availability for one specific, already-identified product by its productId, optionally at a given quantity or delivery postal code. Use this only when you already know which product you want; use search_products or apply_filters first if you don't yet have a productId. Unlike search_products, this never returns other products.

    View tool JSON
    {
      "name": "check_stock",
      "kind": "answer",
      "impl": "imperative",
      "description": "Check real-time availability for one specific, already-identified product by its productId, optionally at a given quantity or delivery postal code. Use this only when you already know which product you want; use search_products or apply_filters first if you don't yet have a productId. Unlike search_products, this never returns other products.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1
          },
          "quantity": {
            "type": "integer",
            "minimum": 1
          },
          "postalCode": {
            "type": "string"
          }
        },
        "required": [
          "productId"
        ],
        "additionalProperties": false
      },
      "page": "/webmcp-schemas/"
    }
    add_to_cartAction

    Add a specific, already-identified product to the shopping cart by productId and quantity. This changes the cart, so it requires user confirmation before it runs. Use check_stock first if availability at the requested quantity is uncertain; use apply_promo_code afterward to apply a discount to the resulting cart.

    View tool JSON
    {
      "name": "add_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a specific, already-identified product to the shopping cart by productId and quantity. This changes the cart, so it requires user confirmation before it runs. Use check_stock first if availability at the requested quantity is uncertain; use apply_promo_code afterward to apply a discount to the resulting cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1
          },
          "quantity": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "productId",
          "quantity"
        ],
        "additionalProperties": false
      },
      "page": "/webmcp-schemas/"
    }
    apply_promo_codeAction

    Apply a promotional or discount code to an existing cart, identified by cartId. This changes the cart's total, so it requires user confirmation before it runs. Distinct from add_to_cart (which adds items) and start_return (which returns already-ordered items); this only ever discounts an existing cart.

    View tool JSON
    {
      "name": "apply_promo_code",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply a promotional or discount code to an existing cart, identified by cartId. This changes the cart's total, so it requires user confirmation before it runs. Distinct from add_to_cart (which adds items) and start_return (which returns already-ordered items); this only ever discounts an existing cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cartId": {
            "type": "string",
            "minLength": 1
          },
          "code": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "cartId",
          "code"
        ],
        "additionalProperties": false
      },
      "page": "/webmcp-schemas/"
    }
    get_order_statusAnswer

    Look up the current status of a previously placed order by orderId — read-only, does not modify the order. Use start_return instead if the user wants to return items from a delivered order rather than just check where it is.

    View tool JSON
    {
      "name": "get_order_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Look up the current status of a previously placed order by orderId — read-only, does not modify the order. Use start_return instead if the user wants to return items from a delivered order rather than just check where it is.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "orderId"
        ],
        "additionalProperties": false
      },
      "page": "/webmcp-schemas/"
    }
    start_returnAction

    Begin a return for one or more items from a previously placed order. This starts a real-world return process, so it requires user confirmation before it runs. Use get_order_status first to confirm the order and which items it contains before starting a return.

    View tool JSON
    {
      "name": "start_return",
      "kind": "act",
      "impl": "imperative",
      "description": "Begin a return for one or more items from a previously placed order. This starts a real-world return process, so it requires user confirmation before it runs. Use get_order_status first to confirm the order and which items it contains before starting a return.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "minLength": 1
          },
          "items": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "string",
                  "minLength": 1
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              "required": [
                "productId",
                "quantity"
              ],
              "additionalProperties": false
            }
          },
          "reason": {
            "type": "string",
            "enum": [
              "defective",
              "wrong_item",
              "no_longer_needed",
              "better_price_found",
              "other"
            ]
          }
        },
        "required": [
          "orderId",
          "items",
          "reason"
        ],
        "additionalProperties": false
      },
      "page": "/webmcp-schemas/"
    }