{"ok":true,"site":{"host":"web-mcp-mu.vercel.app","url":"https://web-mcp-mu.vercel.app/","type":"live","desc":"A WebMCP commerce demo where people and browser agents work from the same cart.","tools":[{"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#"},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"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#"},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"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#"},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"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#"},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"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#"},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"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#"},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"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#"},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Commerce","apiSurface":"spec","toolCount":7}}