Il nostro sito ora ha strumenti, non solo pagine
Finora un agente di IA che visitava actmorehuman.com faceva quello che fa ogni agente su ogni sito. Leggeva l'HTML, indovinava quale div fosse la casella di ricerca e cliccava qualcosa che somigliava a un pulsante. Quando abbiamo rilasciato un restyling, si è rotto. Quando si è aperta una finestra modale, si è perso.
Adesso è finita. Da oggi il sito consegna agli agenti un elenco tipizzato delle cose che sa fare, e loro le chiamano direttamente.
Lo standard è WebMCP, una proposta del W3C che permette a una pagina di dichiarare degli strumenti a qualunque agente la stia guardando. Noi ne abbiamo rilasciati dieci.
Cosa può fare ora un agente
Quattro strumenti di sola lettura, che non cambiano nulla e si possono chiamare liberamente:
search_guideseget_guideraggiungono ogni guida del sito, tutte pubblicate in undici linguelist_assistantseget_setup_stepsrestituiscono dove ChatGPT, Claude, Gemini, Grok, Perplexity e Copilot nascondono ciascuno la loro impostazione delle istruzioni personalizzate, e cosa metterci
Tre che costruiscono qualcosa:
get_wizard_optionsebuild_humanizer_promptproducono il prompt che produce la procedura guidata del sito, senza che il visitatore la percorra passo per passohumanize_textriscrive il testo dell'IA in uno di quattro toni, da 20 a 6.000 caratteri
Tre che toccano pagamenti o una casella di posta:
list_productsrestituisce cosa vendiamo e quanto costa oggi, compresa una configurazione Company Voice con prezzo e componenti aggiuntivistart_checkoutapre una sessione Stripesubscribe_to_updateschiede di inviare una email di conferma
Le descrizioni complete sono quelle che leggono gli agenti, e dichiarano i propri limiti. list_products dice che l'elenco può essere breve perché restituisce solo ciò che è in vendita. humanize_text dice che costa denaro a ogni chiamata e che non va ritentato sullo stesso testo. Un agente che pianifica su una descrizione vaga fa piani peggiori.
Le scritture si fermano e chiedono
start_checkout e subscribe_to_updates non si risolvono finché una persona non li approva in una finestra di dialogo sulla pagina. La finestra indica il prodotto, il prezzo e l'indirizzo email prima che qualcuno clicchi qualsiasi cosa. Uno strumento che chiede conferma e non ha niente di specifico da mostrare fa fallire la build, quindi un "sei sicuro?" senza alcun oggetto non può andare in produzione.
L'iscrizione, in più, è con doppio opt-in. Lo strumento invia una email di conferma e restituisce il fatto di averla inviata, non un'iscrizione. Se ignori l'email, non è successo niente. Un agente non può mettere un indirizzo in una lista, e nemmeno noi.
humanize_text pilota il modulo visibile invece di chiamare in silenzio qualcosa dietro le quinte. Il visitatore vede il proprio testo arrivare nella casella e venire riscritto. È tutta la premessa di una superficie condivisa: devi poter vedere ciò che l'agente ha fatto sul tuo schermo, nella pagina che stai guardando.
Agenti che non sono in un browser
Gli stessi strumenti sono serviti via MCP su /api/mcp, quindi possono chiamarli anche un agente di programmazione o un assistente desktop senza browser. Entrambi i canali passano per la stessa pipeline, ed è l'unico motivo per cui le loro protezioni non possono divergere.
Gli strumenti di sola lettura sono aperti anche lì. humanize_text no, e il motivo è banale ma vale la pena dirlo: l'endpoint remoto non ha autenticazione, quindi esporre uno strumento che consuma budget di modello permetterebbe a qualunque pagina caricata da un visitatore di spendere il nostro attraverso il suo browser. Le letture restano aperte. Spendere richiede un chiamante che possiamo identificare.
La pagella, compresa la parte brutta
La directory webmcp.com ha analizzato sei pagine e ha dato come esito una A. Ha trovato nove strumenti, ed è corretto. Il decimo, humanize_text, sta dietro lo stesso flag della pagina dell'umanizzatore, e finché quel flag è spento lo strumento non viene mai registrato né elencato. Pubblicizzare una funzione che fallisce quando la chiami è peggio che non averla.
L'analisi ha apprezzato le descrizioni e i vincoli sugli input, e ha indicato una lacuna reale: nessuno strumento ha schemi di output. Ogni strumento dichiara esattamente cosa entra, e nessuno dichiara cosa esce. Un agente deve analizzare il nostro output per scoprirlo. È una critica giusta ed è in lista.
Per dare un'idea di scala, la directory contiene 522 siti verificati e 3.387 strumenti. Su tutti, il 51% pilota la pagina, il 44% si limita a rispondere a domande e il 5% tocca denaro o un impegno. Noi rientriamo in tutte e tre le categorie.
Perché l'abbiamo fatto
Gli assistenti leggono già questo sito. Le persone chiedono a ChatGPT dove si trova la casella delle istruzioni personalizzate di Claude e ricevono una risposta modellata sulle pagine che abbiamo scritto noi. Essere letti è un bene. Essere utilizzabili è un'altra cosa, ed è il passo successivo.
C'è anche un'argomentazione che faremmo comunque. Il web degli agenti può andare in due direzioni. O gli agenti fanno scraping dei siti e i siti diventano superfici passive da analizzare, oppure i siti tengono la propria logica e la espongono alle proprie condizioni, con le proprie protezioni, i propri limiti di frequenza e le proprie finestre di conferma. Noi preferiamo la seconda. Un checkout che procede solo quando un essere umano lo approva in una finestra di dialogo non è un attrito. È il sito che resta responsabile del proprio comportamento.
Due giri di revisione della sicurezza hanno trovato quattro problemi prima del rilascio, tutti risolti: CORS aperto sulla rotta MCP, un percorso di errore che inghiottiva i tempi di ripetizione prima che l'agente potesse vederli, un bridge che accettava chiamanti senza origine, e un gestore che si ramificava sul testo di errore di un altro modulo. 898 test passano su 67 file, 254 dei quali nuovi.
Provalo
Apri il sito in un browser compatibile con WebMCP e chiedi al tuo agente di trovare una guida sui trattini lunghi, o di calcolare il prezzo di un incarico Company Voice con componenti aggiuntivi. Chiamerà search_guides o list_products e ti dirà cosa è tornato. Chiedigli di comprare qualcosa e si fermerà e ti passerà la decisione.
La pagella è pubblica su webmcp.com. Gli schemi di output sono i prossimi.
---
Questo testo è stato scritto con l'IA. Ogni affermazione è stata verificata da una persona prima della pubblicazione. Se la scrittura dell'IA non regge a quel controllo, non è pronta per essere pubblicata.