← WebMCP Directory

Tool tree

bazaar-web-mcp.vercel.app

CommerceTools verified
Website
Bazaar is a WebMCP-powered e-commerce store where humans and AI agents shop the same catalog together. 12 tools exposed for agents to search, compare, cart, and checkout.
Explore capabilities
    list_categoriesAnswer

    List all product categories in the store with the number of products in each. Use this first to orient yourself.

    View tool JSON
    {
      "name": "list_categories",
      "kind": "answer",
      "impl": "imperative",
      "description": "List all product categories in the store with the number of products in each. Use this first to orient yourself.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    }
    search_productsAnswer

    Search the product catalog. Combine query (text in name/description/brand/tags), category (Footwear|Electronics|Clothing|Home|Books|Beauty), brand, tag, minPrice, maxPrice (in INR), and sort (relevance|price-low|price-high|rating|discount). Example: find shoes under ₹2000 → { query: 'shoes', maxPrice: 2000 }. Returns matching products with id, name, price, rating, brand and category.

    View tool JSON
    {
      "name": "search_products",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the product catalog. Combine query (text in name/description/brand/tags), category (Footwear|Electronics|Clothing|Home|Books|Beauty), brand, tag, minPrice, maxPrice (in INR), and sort (relevance|price-low|price-high|rating|discount). Example: find shoes under ₹2000 → { query: 'shoes', maxPrice: 2000 }. Returns matching products with id, name, price, rating, brand and category.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "free-text search (e.g. 'running shoes', 'headphones')"
          },
          "category": {
            "type": "string",
            "enum": [
              "Footwear",
              "Electronics",
              "Clothing",
              "Home",
              "Books",
              "Beauty"
            ]
          },
          "brand": {
            "type": "string"
          },
          "tag": {
            "type": "string",
            "description": "matches a tag, e.g. 'wireless', 'winter'"
          },
          "minPrice": {
            "type": "integer",
            "description": "minimum price in INR"
          },
          "maxPrice": {
            "type": "integer",
            "description": "maximum price in INR, e.g. 2000"
          },
          "sort": {
            "type": "string",
            "enum": [
              "relevance",
              "price-low",
              "price-high",
              "rating",
              "discount"
            ]
          },
          "limit": {
            "type": "integer"
          }
        },
        "required": []
      }
    }
    get_product_detailsAnswer

    Get full details for a single product by id, including description, stock, all tags, and any discount.

    View tool JSON
    {
      "name": "get_product_details",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get full details for a single product by id, including description, stock, all tags, and any discount.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      }
    }
    compare_productsAnswer

    Compare 2 or more products side-by-side by id. Returns a normalized comparison table: name, brand, price, discount %, rating, review count, category, stock, tags.

    View tool JSON
    {
      "name": "compare_products",
      "kind": "answer",
      "impl": "imperative",
      "description": "Compare 2 or more products side-by-side by id. Returns a normalized comparison table: name, brand, price, discount %, rating, review count, category, stock, tags.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "ids"
        ]
      }
    }
    get_recommendationsAnswer

    Get personalized product recommendations based on items already in the cart (and overall bestsellers if the cart is empty). Optionally exclude a productId (e.g. the one currently being viewed).

    View tool JSON
    {
      "name": "get_recommendations",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get personalized product recommendations based on items already in the cart (and overall bestsellers if the cart is empty). Optionally exclude a productId (e.g. the one currently being viewed).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "description": "exclude this product (e.g. the one being viewed)"
          },
          "limit": {
            "type": "integer"
          }
        },
        "required": []
      }
    }
    add_to_cartAction

    Add a product to the shared cart. quantity defaults to 1. The cart is shared with the human user, so they will see the item appear in real time. Returns the updated cart item and the new cart total.

    View tool JSON
    {
      "name": "add_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a product to the shared cart. quantity defaults to 1. The cart is shared with the human user, so they will see the item appear in real time. Returns the updated cart item and the new cart total.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "description": "defaults to 1"
          }
        },
        "required": [
          "productId"
        ]
      }
    }
    get_cartAnswer

    Show the current contents of the shared cart: each item with product, quantity and line total, plus subtotal, total item count, and any total savings vs. MRP.

    View tool JSON
    {
      "name": "get_cart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Show the current contents of the shared cart: each item with product, quantity and line total, plus subtotal, total item count, and any total savings vs. MRP.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    }
    update_cart_itemAction

    Change the quantity of a cart item (use the cartItemId from get_cart). Set quantity to 0 to effectively remove it — or use remove_cart_item.

    View tool JSON
    {
      "name": "update_cart_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the quantity of a cart item (use the cartItemId from get_cart). Set quantity to 0 to effectively remove it — or use remove_cart_item.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cartItemId": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "description": "new quantity, 1-99"
          }
        },
        "required": [
          "cartItemId",
          "quantity"
        ]
      }
    }
    remove_cart_itemAction

    Remove a single item from the cart by cartItemId.

    View tool JSON
    {
      "name": "remove_cart_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove a single item from the cart by cartItemId.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cartItemId": {
            "type": "string"
          }
        },
        "required": [
          "cartItemId"
        ]
      }
    }
    clear_cartAction

    Empty the entire cart. Use with the user's permission.

    View tool JSON
    {
      "name": "clear_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Empty the entire cart. Use with the user's permission.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    }
    checkoutSensitive Action

    Place an order for the current cart. Provide a shipping address (customerName, addressLine, city, 6-digit pincode). paymentMethod defaults to 'cod' (cash on delivery); other values: 'upi', 'card'. Creates an order, clears the cart, and returns the order with an id and total. Always confirm the address with the user before calling this.

    View tool JSON
    {
      "name": "checkout",
      "kind": "transact",
      "impl": "imperative",
      "description": "Place an order for the current cart. Provide a shipping address (customerName, addressLine, city, 6-digit pincode). paymentMethod defaults to 'cod' (cash on delivery); other values: 'upi', 'card'. Creates an order, clears the cart, and returns the order with an id and total. Always confirm the address with the user before calling this.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "customerName": {
            "type": "string"
          },
          "addressLine": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "pincode": {
            "type": "string",
            "description": "exactly 6 digits"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "cod",
              "upi",
              "card"
            ],
            "description": "defaults to cod"
          }
        },
        "required": [
          "customerName",
          "addressLine",
          "city",
          "pincode"
        ]
      }
    }
    get_order_historyAnswer

    Show the user's past orders, newest first, with items, total and status.

    View tool JSON
    {
      "name": "get_order_history",
      "kind": "answer",
      "impl": "imperative",
      "description": "Show the user's past orders, newest first, with items, total and status.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    }