Abbiamo aperto le prenotazioni in mongolfiera agli agenti IA. Ecco come.
Questo sito mette ora quattro strumenti con un nome preciso a disposizione di qualsiasi agente IA che giri dentro il browser di chi lo visita: lo stato di volo ufficiale, il prezzo di una data, l'elenco delle date prenotabili e un modulo di prenotazione che l'agente può compilare ma mai inviare. Il pagamento resta in mano a te e alla tua banca. Ecco cosa abbiamo costruito, cosa abbiamo lasciato chiuso di proposito e cosa ancora non sappiamo.
Team Operativo di Hot Air Cappadocia Balloon
Göreme, Cappadocia · TURSAB 2290 · Dal 1999

Un'ospite in un hotel scavato nella roccia a Göreme vuole una sola risposta prima di dormire: domani le mongolfiere voleranno. Se invece di aprire il nostro sito lo chiede all'assistente integrato nel suo browser, quell'assistente deve ricavare la risposta dal testo che riesce a raschiare da qualche pagina. Per una decisione che l'autorità dell'aviazione civile prende poche ore prima dell'alba, quel testo serve a poco.
Adesso le nostre pagine passano la risposta direttamente all'assistente. Sulla pagina stessa sono registrati quattro strumenti, ciascuno con il proprio nome e i propri dati di ingresso: lo stato di volo ufficiale per settore, il prezzo di una data precisa, le date ancora prenotabili e uno strumento che compila il modulo di prenotazione. Un agente li chiama come uno sviluppatore chiama una API, solo che qui non c'è nessuna chiave da emettere, nessun accordo da firmare e nessun servizio separato da tenere in piedi. Funziona perché chi visita il sito è già sulla pagina.
Al 10 settembre 2026 non ci risulta che un altro operatore di mongolfiere, in Cappadocia o altrove, esponga strumenti WebMCP. Più che un vanto, è un modo per dire quanto è giovane lo standard: la specifica è una bozza, Chrome la sta provando come origin trial e il punto di ingresso ha cambiato nome due volte mentre lo leggevamo. Quello che segue è cosa abbiamo costruito, cosa ci siamo rifiutati di aprire e cosa può ancora muoversi sotto i nostri piedi.
Panoramica: Come prenotare un volo in mongolfiera in Cappadocia
Che cos'è WebMCP, detto semplice
Il Model Context Protocol, in breve MCP, è la convenzione che permette a un assistente IA di chiamare strumenti scritti da qualcun altro. WebMCP ne è la versione per il browser. Invece di un server che pubblica strumenti da qualche parte in rete, è la pagina web a offrirli all'agente che gira nel browser di chi la sta leggendo.
La meccanica sta in una frase. La pagina chiama document.modelContext.registerTool() e passa un nome, una descrizione, uno schema dei dati in ingresso e una funzione da eseguire. Da quel momento un agente in quel browser vede lo strumento, lo chiama e riceve dati strutturati.
Tutto questo esiste perché le alternative sono scadenti. Oggi un agente che vuole qualcosa da un sito o legge il testo renderizzato e deduce, oppure guida l'interfaccia a forza di clic. La prima strada produce risposte sicure di sé costruite su un paragrafo scaduto. La seconda si rompe la settimana in cui un pulsante cambia posizione. Uno strumento registrato è il sito che dice ad alta voce a cosa sa rispondere e in che forma, un problema molto più piccolo da risolvere bene.
Lo stato dello standard conta quanto la meccanica. WebMCP è un rapporto in bozza del Web Machine Learning Community Group del W3C, in una versione datata 26 agosto 2026 e curata da ingegneri di Google e Microsoft. Chrome lo offre come origin trial nelle versioni dalla 149 alla 156, cioè attivo per i siti che registrano un token e per un numero limitato di rilasci, mentre il progetto viene messo alla prova in pubblico. Una bozza a questo stadio non è una promessa, quindi l'abbiamo trattata come un esperimento con una scadenza vera e non come una piattaforma su cui costruire.
Perché proprio un operatore di mongolfiere

Ci sono due caratteristiche di questo prodotto che mettono in difficoltà qualsiasi agente capace solo di leggere pagine. La prima è che il volo di domani potrebbe non esistere. I voli si annullano per il vento, e l'autorità autorizza o sospende ogni settore la mattina stessa, poche ore prima dell'alba. Niente di quello che è stato scritto ieri su una pagina conta davvero, comprese le cose scritte da noi.
La seconda è che il prezzo appartiene a una data. Una mattina di gennaio e una di fine settembre sono prodotti diversi con prezzi diversi, definiti in una tabella tariffaria e non nel testo di una pagina. Un sito che dice "da 119 €" dice il vero e risponde a un'altra domanda quando tu stai chiedendo del 10 settembre.
Così le due domande che le persone fanno davvero, se si vola e quanto costa la loro data, sono esattamente le due a cui il testo statico risponde peggio. Per questo sono diventate i primi due strumenti, prima di qualunque cosa avesse a che fare con il prenotare.
I quattro strumenti
| Strumento | Che cosa fa | Lettura o scrittura |
|---|---|---|
| get_flight_status | Lo stato di volo ufficiale dei settori A, B e C pubblicato dall'autorità dell'aviazione civile, con l'ora di emissione e l'alba e il tramonto di quel giorno | Sola lettura |
| get_price_for_date | Il prezzo a persona in euro per una data precisa, o il motivo per cui quella data non è prenotabile | Sola lettura |
| list_available_dates | Le date prenotabili con i relativi prezzi, fino a 90 date per chiamata, con filtro per mese opzionale | Sola lettura |
| prefill_booking_form | Compila la data, il numero di passeggeri e i dati di contatto nel modulo che il visitatore ha davanti | Scrive nel modulo, non può inviarlo |
Non è una dimostrazione: sono in funzione. Provando con Chrome 151 e il flag WebMCP attivo il 2 settembre 2026, un agente ha chiesto il prezzo del 10 settembre 2026 e ha ricevuto 249 euro a persona, cioè quello che la pagina di prenotazione mostra per quella data, perché entrambi leggono la stessa tabella tariffaria e non due copie diverse.
Tre strumenti su quattro sono contrassegnati come di sola lettura nel loro descrittore, ed è il segnale che permette a un agente, o a chi lo supervisiona, di distinguere il guardare dal fare. Solo il quarto cambia qualcosa sullo schermo, e quello che può cambiare è molto circoscritto.
Quello che non abbiamo aperto
Il quarto strumento è dove sta la decisione vera. prefill_booking_form compila il modulo. Non può inviarlo. Non esiste nessuno strumento per incassare, e non ne esisterà uno.
I campi che un agente può scrivere sono elencati uno per uno nel codice: nome completo, email, telefono, paese, hotel per il pickup, richieste particolari, più la data e il numero di passeggeri. Tutto ciò che sta fuori da quella lista viene rifiutato per nome. L'attacco ovvio lo abbiamo provato su noi stessi il 2 settembre 2026: a un agente a cui è stato chiesto di scrivere un numero di carta nel modulo è tornato indietro un rifiuto con la dicitura unknown_field. Nella lista non c'è nessun campo carta, quindi a runtime non c'è niente su cui trattare.
Il pagamento passa dove è sempre passato, dalla banca dell'ospite con 3D Secure. Il numero della carta e il codice che invia la banca viaggiano tra te e la tua banca. Un agente in grado di leggere la pagina non può leggerli, perché non hanno mai fatto parte di quello che la pagina espone agli strumenti.
Quel confine non è prudenza per bellezza. Se una pagina di prenotazione può permettersi di essere utile a un agente è proprio perché il passo irreversibile richiede ancora una persona: qualcuno legge il riepilogo, vede il totale e autorizza il pagamento presso la propria banca. Automatizzare gli ultimi trenta secondi toglierebbe l'unico controllo che intercetta una data sbagliata, e qui una data sbagliata significa un ospite che aspetta nella hall di un hotel alle quattro del mattino nel giorno che non era.
Com'è fatto
Non è stata aggiunta nessuna dipendenza nuova. Tutta la funzione sono un hook React, un file di funzioni pure che contiene la logica e due punti di montaggio, uno sulla pagina di prenotazione e uno su quella dello stato di volo. In package.json non è entrato nulla, e con una API così giovane era esattamente il punto.
Ogni accesso viene verificato prima dell'uso. L'hook cerca document.modelContext, ripiega su navigator.modelContext e, se non trova né l'uno né l'altro, si ritira e la pagina si comporta come sempre. La registrazione è protetta, così un cambio di forma della API non può sollevare un errore dentro la pagina. Chi arriva da Safari, o da un Chrome senza il trial, trova un sito identico byte per byte a quello del mese scorso.
Questa diffidenza non è decorazione. Mentre costruivamo la cosa, il punto di ingresso si era già spostato due volte: da window.agent a navigator.modelContext e poi a document.modelContext. Una cosa così giovane si sposterà ancora. Tenerla in un solo file significa che il giorno in cui si sposta modifichiamo una funzione e ripubblichiamo.
La logica dietro agli strumenti, la ricerca del prezzo, l'elenco delle date e la lista dei campi ammessi, vive in funzioni pure con test unitari, così le regole si verificano senza aprire un browser. Vuol dire anche che le regole che proteggono il modulo da un agente sono le stesse per qualunque altra cosa le chiami.
Cosa succede adesso
L'origin trial va da Chrome 149 a Chrome 156. Un sito aderisce con un token legato al proprio dominio e servito come intestazione HTTP, ed è quello che facciamo: la nostra registrazione arriva fino alla fine del trial, a novembre 2026. Quando il trial finisce succederà una di tre cose: la API viene pubblicata, cambia, oppure sparisce. Se sparisce cancelliamo un'intestazione e un hook, e nessun visitatore se ne accorge.
L'altra metà della storia sta dal lato dell'agente, ed è la metà che non controlliamo. Gli strumenti esistono e rispondono correttamente quando qualcuno li chiama. Quello che si muove ancora è quali assistenti li chiamano: Gemini in Chrome non ricorre ancora agli strumenti di pagine di terzi sul canale stabile. Oggi il collo di bottiglia è l'agente, non lo standard.
Pubblichiamo questo pezzo mentre la cosa è ancora in movimento, per due motivi. I dettagli di un'implementazione che funziona servono a un altro operatore più di quanto servirebbe un annuncio, e i nostri ospiti chiedono già al browser che tempo farà domani mattina, che la pagina sia pronta a rispondere o no. Se gestisci un sito la cui risposta giusta cambia ogni giorno, questa cosa vale un pomeriggio del tuo tempo.
Prenota il tuo volo all’alba in Cappadocia
Scegli l’esperienza che fa per te.
Globo ClassicoCesta condivisa, l’alba classica sopra le valliGlobo ComfortUn gruppo più piccolo, più spazio per muoverti e fotografareGlobo PrivatoLa tua mongolfiera, solo il tuo gruppo, secondo i tuoi orari
Tour of Istanbul ↗
Tour of Istanbul ↗Guarda gli stessi dati che restituisce uno strumento
Domande frequenti
- Che cos'è WebMCP?
- WebMCP permette a una pagina web di offrire strumenti con un nome preciso a un agente IA che gira nel browser di chi la visita, invece di costringerlo a indovinare dal testo della pagina. La pagina registra ogni strumento tramite document.modelContext con un nome, una descrizione e uno schema dei dati in ingresso. È un rapporto in bozza del Web Machine Learning Community Group del W3C, in una versione datata 26 agosto 2026 e curata da ingegneri di Google e Microsoft, e Chrome lo offre come origin trial nelle versioni dalla 149 alla 156.
- Quali agenti IA possono usare questi strumenti?
- Qualsiasi agente che giri dentro un browser che implementa la API, mentre tu sei sulla pagina. In pratica significa le versioni di Chrome dalla 149 alla 156 attraverso l'origin trial, oppure qualsiasi Chrome con il flag di test WebMCP attivo. Non viene esposto nulla ai crawler dei motori di ricerca, e gli strumenti non inviano dati personali da nessuna parte: lo strumento di stato del volo fa la stessa richiesta che la pagina fa già per conto suo, e impostare la data o il numero di passeggeri attiva lo stesso aggiornamento di pagina che otterresti scegliendo tu stesso una data. Nient'altro esce dal browser.
- Un agente IA può pagare il mio volo in mongolfiera?
- No. Lo strumento di precompilazione riempie i campi visibili e non può inviare il modulo. Non esiste alcuno strumento di pagamento. I dati della carta e il codice 3D Secure passano tra te e la tua banca, e i campi carta sono esclusi dalla lista dei campi ammessi direttamente nel codice, quindi un agente che chiede di scrivere un numero di carta riceve un rifiuto invece di un campo.
- Cambia qualcosa se non uso mai un assistente IA?
- No. Ogni accesso alla API viene verificato prima dell'uso. Un browser che non la supporta mostra il sito esattamente come prima, senza script aggiuntivi, senza dipendenze e senza alcuna modifica al percorso di prenotazione. Per chi non usa un agente, questa funzione non aggiunge nulla alla pagina.
- Che cosa restituisce lo strumento sullo stato di volo?
- Gli stessi dati ufficiali che mostra la nostra pagina sullo stato di volo: la situazione dei settori A, B e C secondo l'autorità dell'aviazione civile, l'ora in cui quella situazione è stata emessa e l'alba e il tramonto del giorno. L'agente li riceve come dati strutturati invece di leggerli dalla pagina.
- Lo sta facendo qualche altro operatore di mongolfiere?
- Al 10 settembre 2026 non ci risulta che un altro operatore di mongolfiere, in Cappadocia o altrove, esponga strumenti WebMCP. Lo standard è una bozza pubblicata ad agosto 2026, quindi il campo è piccolo per definizione, e preferiamo essere corretti piuttosto che esagerare.
- Cosa succede a questi strumenti quando finisce l'origin trial di Chrome?
- Può succedere una di tre cose: la API viene pubblicata, cambia, oppure sparisce. Il trial va da Chrome 149 a Chrome 156, e un sito aderisce con un token legato al proprio dominio. Se sparisce, cancelliamo un'intestazione e un hook, e nessun visitatore se ne accorge.
Sul team operativo
Il team operativo di Hot Air Cappadocia Balloon ha sede a Göreme e coordina voli in mongolfiera all'alba per ospiti internazionali attraverso hotaircappadociaballoon.com. Operando sotto Tayf Tours DMC (Licenza TURSAB n. 2290) dal 1999, il team lavora con operatori di mongolfiere autorizzati e affidabili in tutta la Cappadocia. Le affermazioni tecniche di questa pagina descrivono la nostra implementazione così com'era il 10 settembre 2026, su una API che resta una bozza.