{"ok":true,"site":{"host":"bella-roma-web-mcp.vercel.app","url":"https://bella-roma-web-mcp.vercel.app/","type":"live","desc":"Bella Roma Coffee","tools":[{"name":"search_products","kind":"answer","impl":"imperative","description":"Cerca prodotti nel catalogo (drink, food, beans, capsule). I prodotti di tipo milk_option sono esclusi di default — passa type:'milk_option' per includerli. Tutti i filtri sono in AND; tags/dietary/flavor_notes sono AND interno (il prodotto deve avere tutti i valori richiesti).","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Testo libero da cercare nel nome o nella descrizione"},"category":{"type":"string","enum":["espresso","filtro","decaf","latte","cold","food","beans","capsule"]},"type":{"type":"string","enum":["drink","food","beans","capsule","milk_option"]},"max_price":{"type":"number","description":"Prezzo massimo in euro"},"tags":{"type":"array","items":{"type":"string"},"description":"Tag richiesti (AND). Es: ['signature', 'best-seller']"},"dietary":{"type":"array","items":{"type":"string","enum":["vegan","lactose-free","gluten-free","no-caffeine"]},"description":"Requisiti dietetici richiesti (AND)"},"flavor_notes":{"type":"array","items":{"type":"string","enum":["floral","fruity","chocolate","caramel","nutty","citrus","spicy","honey","berry"]},"description":"Note aromatiche richieste (AND)"},"origin":{"type":"string","description":"Es: 'Etiopia', 'Colombia', 'Italia'"},"intensity_min":{"type":"number","minimum":1,"maximum":10},"intensity_max":{"type":"number","minimum":1,"maximum":10},"time_of_day":{"type":"string","enum":["morning","afternoon","evening","anytime"]},"in_stock_only":{"type":"boolean","description":"Se true, esclude i prodotti non disponibili"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_product","kind":"answer","impl":"imperative","description":"Restituisce la scheda completa di un prodotto: attributi (intensità, origine, note aromatiche, dietary, tag, time_of_day), disponibilità, alternative se esaurito, pairing consigliati, prodotti correlati (es. chicchi da asporto della stessa bevanda) e opzioni di personalizzazione (size, milk, sweetness). Usalo per ragionare su un singolo prodotto in dettaglio.","inputSchema":{"type":"object","properties":{"product_id":{"type":"string","description":"L'id del prodotto"}},"required":["product_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_to_cart","kind":"act","impl":"imperative","description":"Aggiunge un prodotto al carrello in una certa quantità. Supporta options (size, milk, sweetness) se il prodotto le offre. Se il prodotto o l'opzione richiesta è ESAURITA, ritorna un errore strutturato con alternative coerenti che puoi proporre all'utente.","inputSchema":{"type":"object","properties":{"product_id":{"type":"string","description":"L'id del prodotto"},"quantity":{"type":"integer","minimum":1,"maximum":10},"options":{"type":"object","properties":{"size":{"type":"string","enum":["S","M","L"]},"milk":{"type":"string","description":"id di un milk_option (es. milk-oat, milk-almond)"},"sweetness":{"type":"string","enum":["none","low","normal"]}}}},"required":["product_id","quantity"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_from_cart","kind":"act","impl":"imperative","description":"Rimuove una riga dal carrello. Passa anche 'options' (size/milk/sweetness) se il carrello contiene più righe dello stesso prodotto con opzioni diverse, altrimenti viene rimossa la prima riga che combacia con il product_id.","inputSchema":{"type":"object","properties":{"product_id":{"type":"string"},"options":{"type":"object","description":"Opzioni per disambiguare quale riga rimuovere (size/milk/sweetness).","properties":{"size":{"type":"string","enum":["S","M","L"]},"milk":{"type":"string"},"sweetness":{"type":"string","enum":["none","low","normal"]}}}},"required":["product_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"apply_coupon","kind":"act","impl":"imperative","description":"Applica un codice sconto al carrello. Codici disponibili: BENVENUTO (10%), STUDENTI (20% max €5). Se un coupon era già attivo viene sovrascritto e segnalato nel messaggio.","inputSchema":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_coupon","kind":"act","impl":"imperative","description":"Rimuove il coupon attualmente applicato al carrello. Non rimuove i prodotti.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"clear_cart","kind":"act","impl":"imperative","description":"Svuota completamente il carrello e rimuove il coupon. Usalo quando l'utente vuole ricominciare da zero.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_cart","kind":"answer","impl":"imperative","description":"Ritorna il contenuto corrente del carrello con totali.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"show_product_image","kind":"answer","impl":"imperative","description":"Restituisce l'immagine editoriale del prodotto come MCP resource_link (URI pubblico HTTPS, WebP). Da usare quando l'utente chiede di 'vedere', 'mostrare', 'fammi vedere' un prodotto. Il client decide come renderizzare il link (inline preview vs widget). Non modifica lo stato.","inputSchema":{"type":"object","properties":{"product_id":{"type":"string","description":"L'id del prodotto"}},"required":["product_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"checkout","kind":"transact","impl":"imperative","description":"Conferma l'ordine e completa il pagamento. Richiede conferma esplicita dell'utente.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Commerce","favicon":"/favicons/bella-roma-web-mcp.vercel.app.png","apiSurface":"spec","toolCount":10}}