← WebMCP Directory

Tool tree

shopmate-wheat.vercel.app

CommerceTools verified
Website
ShopMate exposes a curated e-commerce catalog to AI agents through WebMCP. Search, filter, compare, check stock, and build bundles — with the human always in control.
Explore capabilities
    search_productsAnswer

    Search ShopMate's catalog by free-text query and optional category/brand filters. Use this whenever the user mentions what they are looking for in natural language.

    View tool JSON
    {
      "name": "search_products",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search ShopMate's catalog by free-text query and optional category/brand filters. Use this whenever the user mentions what they are looking for in natural language.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Free-text search query, e.g. 'lightweight laptop for development'."
          },
          "category": {
            "type": "string",
            "enum": [
              "laptops",
              "laptops",
              "laptops",
              "laptops",
              "laptops",
              "laptops",
              "laptops",
              "laptops",
              "phones",
              "phones",
              "phones",
              "phones",
              "phones",
              "phones",
              "monitors",
              "monitors",
              "monitors",
              "monitors",
              "monitors",
              "monitors",
              "keyboards",
              "keyboards",
              "keyboards",
              "keyboards",
              "keyboards",
              "mice",
              "mice",
              "mice",
              "mice",
              "mice",
              "headphones",
              "headphones",
              "headphones",
              "headphones",
              "headphones",
              "webcams",
              "webcams",
              "webcams",
              "stands",
              "stands",
              "stands",
              "storage",
              "storage",
              "storage",
              "storage"
            ],
            "description": "Optional category filter."
          },
          "brand": {
            "type": "string",
            "description": "Optional brand filter."
          },
          "maxPrice": {
            "type": "number",
            "description": "Maximum price in USD."
          },
          "inStockOnly": {
            "type": "boolean",
            "description": "If true, only return products currently in stock."
          },
          "limit": {
            "type": "number",
            "description": "Maximum number of results to return (default 10)."
          }
        },
        "required": [
          "query"
        ]
      }
    }
    filter_productsAction

    Apply structured filters to ShopMate's catalog (price range, category, brand, rating, stock) without a free-text query.

    View tool JSON
    {
      "name": "filter_products",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply structured filters to ShopMate's catalog (price range, category, brand, rating, stock) without a free-text query.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "laptops",
                "laptops",
                "laptops",
                "laptops",
                "laptops",
                "laptops",
                "laptops",
                "laptops",
                "phones",
                "phones",
                "phones",
                "phones",
                "phones",
                "phones",
                "monitors",
                "monitors",
                "monitors",
                "monitors",
                "monitors",
                "monitors",
                "keyboards",
                "keyboards",
                "keyboards",
                "keyboards",
                "keyboards",
                "mice",
                "mice",
                "mice",
                "mice",
                "mice",
                "headphones",
                "headphones",
                "headphones",
                "headphones",
                "headphones",
                "webcams",
                "webcams",
                "webcams",
                "stands",
                "stands",
                "stands",
                "storage",
                "storage",
                "storage",
                "storage"
              ]
            },
            "description": "Restrict to these categories."
          },
          "brands": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Restrict to these brands."
          },
          "minPrice": {
            "type": "number",
            "description": "Minimum price in USD."
          },
          "maxPrice": {
            "type": "number",
            "description": "Maximum price in USD."
          },
          "minRating": {
            "type": "number",
            "description": "Minimum average rating (0-5)."
          },
          "inStockOnly": {
            "type": "boolean",
            "description": "Only in-stock items."
          }
        }
      }
    }
    get_product_detailsAnswer

    Get the full details (price, specs, description, stock) for a single product by its ID.

    View tool JSON
    {
      "name": "get_product_details",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the full details (price, specs, description, stock) for a single product by its ID.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "description": "The product ID, e.g. 'lp-001'."
          }
        },
        "required": [
          "productId"
        ]
      }
    }
    compare_productsAction

    Side-by-side comparison of 2-4 products. Returns a formatted comparison and opens the on-page compare view.

    View tool JSON
    {
      "name": "compare_products",
      "kind": "act",
      "impl": "imperative",
      "description": "Side-by-side comparison of 2-4 products. Returns a formatted comparison and opens the on-page compare view.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 2,
            "maxItems": 4,
            "description": "The product IDs to compare."
          }
        },
        "required": [
          "productIds"
        ]
      }
    }
    check_stockAnswer

    Check whether one or more products are currently in stock.

    View tool JSON
    {
      "name": "check_stock",
      "kind": "answer",
      "impl": "imperative",
      "description": "Check whether one or more products are currently in stock.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Product IDs to check. Defaults to all if empty."
          }
        }
      }
    }
    add_to_cartAction

    Add a product to the user's shopping cart. Surfaces a human approval prompt before mutating the cart.

    View tool JSON
    {
      "name": "add_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a product to the user's shopping cart. Surfaces a human approval prompt before mutating the cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "description": "Product ID to add."
          },
          "quantity": {
            "type": "number",
            "description": "Quantity to add (default 1).",
            "minimum": 1
          }
        },
        "required": [
          "productId"
        ]
      }
    }
    remove_from_cartAction

    Remove a product from the cart. Surfaces a human approval prompt first.

    View tool JSON
    {
      "name": "remove_from_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a product from the cart. Surfaces a human approval prompt first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "description": "Product ID to remove."
          }
        },
        "required": [
          "productId"
        ]
      }
    }
    update_cartAction

    Set the quantity of a product in the cart (0 to remove). Surfaces a human approval prompt first.

    View tool JSON
    {
      "name": "update_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the quantity of a product in the cart (0 to remove). Surfaces a human approval prompt first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "description": "Product ID to update."
          },
          "quantity": {
            "type": "number",
            "description": "New quantity (0 to remove).",
            "minimum": 0
          }
        },
        "required": [
          "productId",
          "quantity"
        ]
      }
    }
    calculate_cart_totalAnswer

    Calculate the current cart subtotal, item count, and stock availability.

    View tool JSON
    {
      "name": "calculate_cart_total",
      "kind": "answer",
      "impl": "imperative",
      "description": "Calculate the current cart subtotal, item count, and stock availability.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    build_bundleAction

    Build a themed shopping bundle (e.g. 'developer setup', 'gaming setup'). Resolves each component using search_products, then prompts the human to approve adding all items to the cart.

    View tool JSON
    {
      "name": "build_bundle",
      "kind": "act",
      "impl": "imperative",
      "description": "Build a themed shopping bundle (e.g. 'developer setup', 'gaming setup'). Resolves each component using search_products, then prompts the human to approve adding all items to the cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "enum": [
              "developer",
              "gaming",
              "creator",
              "office",
              "minimal",
              "travel"
            ],
            "description": "Bundle theme to build."
          },
          "maxPricePerItem": {
            "type": "number",
            "description": "Maximum price for any single item in USD."
          }
        },
        "required": [
          "theme"
        ]
      }
    }