WebMCP: come funziona

WebMCP permette a una pagina web di esporre strumenti strutturati a un agente AI nel browser. Scopri la differenza rispetto a MCP, cosa supporta Chrome, i rischi per la sicurezza e quando aspettare.

Prima pubblicazione: 17 lug 2026 · Ultimo aggiornamento: 24 ago 2026 · Avanzato
1 segnale di evidenza in questa pagina

WebMCP è un’API sperimentale del browser che permette a una pagina web aperta di offrire strumenti strutturati a un agente AI. È utile per azioni circoscritte sulla pagina, non per la scoperta del web o il ranking. Al 17 luglio 2026 è una bozza del Community Group e un origin trial di Chrome 149; gli esempi Chrome attuali usano document.modelContext, mentre navigator.modelContext è deprecato in Chrome 150.

TL;DR — WebMCP espone gli strumenti di proprietà della pagina da document.modelContext a un agente nel contesto di navigazione attivo. L’API imperativa registra un nome, una descrizione, un input JSON Schema, annotazioni e un callback asincrono; gli strumenti possono dipendere dallo stato e venire deregistrati con un AbortSignal. Chrome documenta anche un livello dichiarativo per i moduli, ma la bozza del Community Group del 10 luglio 2026 continua a contrassegnare la sezione dichiarativa come TODO. La funzionalità è in un origin trial di Chrome 149, non in una baseline stabile tra browser. Trattala come progressive enhancement, non come infrastruttura SEO, e proteggila come una superficie applicativa autenticata. Prova a sostegno di questa affermazione Chrome documents declarative form annotations such as toolname and tooldescription, but the declarative section of the July 10, 2026 Community Group draft is still marked TODO. Ambito: secure browser context Attendibilità: alta · Verificato: WebMCP Draft Community Group Report

Come funziona WebMCP nel browser

Un ciclo di vita WebMCP utile inizia e finisce con la pagina. La pagina registra soltanto le azioni valide nello stato corrente; un agente che opera già in quel contesto di navigazione ne scopre e invoca una; la pagina esegue la normale logica applicativa, aggiorna l’interfaccia visibile alle persone e restituisce un risultato circoscritto. Quando lo stato cambia, la pagina rimuove gli strumenti non più applicabili. Prova a sostegno di questa affermazione The imperative API registers named, described, schema-constrained callbacks and supports state-aware cleanup with AbortSignal plus tool-set change notifications. Ambito: Current draft and Chrome experiment; API details may change before stable release. Attendibilità: alta · Verificato: WebMCP ModelContext API Chrome: WebMCP Imperative API

Gli strumenti WebMCP devono seguire lo stato reale della pagina: registra un’azione valida, esegui la stessa logica dell’interfaccia e rimuovila quando l’azione non è più disponibile. Fonte: Patrick Stox — WebMCP

Cinque passaggi numerati procedono da sinistra a destra. Per prima cosa, la pagina registra un nome, una descrizione, uno schema di input e un callback. In secondo luogo, un agente già nel contesto della pagina lo scopre. In terzo luogo, l’agente lo invoca con argomenti strutturati e validati. In quarto luogo, la pagina riutilizza la normale logica applicativa e aggiorna l’interfaccia visibile. In quinto luogo, restituisce un risultato circoscritto o un errore sicuro. Un ramo dell’esecuzione mostra che i cambiamenti di stato o la navigazione dovrebbero deregistrare lo strumento con AbortSignal e notificare gli observer tramite toolchange.

© Patrick Stox LLC · CC BY 4.0 ·

Questo ciclo di vita basato sullo stato è uno dei motivi per cui WebMCP non dovrebbe diventare un dump statico di ogni funzione contenuta in un bundle JavaScript. Uno strumento impossibile da usare nell’interfaccia visibile dovrebbe normalmente essere indisponibile anche all’agente.

WebMCP e MCP: due confini di runtime diversi

I nomi invitano alla confusione, ma il confine operativo è diverso. WebMCP vive nell’event loop di un documento e nella sessione corrente del browser. MCP remoto vive al confine d’integrazione dell’applicazione AI e raggiunge comunemente un server backend persistente. Prova a sostegno di questa affermazione WebMCP is designed for tools owned by an active page and its browser context, while remote MCP commonly connects an AI application to a persistent backend server. Ambito: Architecture-selection guidance, not a rule that prevents an application from using both technologies. Attendibilità: alta · Verificato: Chrome: When to use WebMCP and MCP

WebMCP gestisce le azioni nel contesto della pagina; MCP remoto gestisce le integrazioni durature tra applicazione e server. Molti prodotti useranno entrambi. Fonte: WebMCP

La corsia sinistra mostra WebMCP: un agente browser interagisce con una pagina web aperta, che possiede uno strumento JavaScript e lo stato visibile corrente della sessione. La pagina deve essere aperta perché questi strumenti esistano. La corsia destra mostra MCP remoto: un’applicazione AI si collega tramite un client MCP a un server MCP persistente, che può restare disponibile fuori da una scheda browser. Le due corsie sono complementari, non sostitutive.

© Patrick Stox LLC · CC BY 4.0 ·

InterfacciaDove viveQuando viene scopertaLa pagina deve essere aperta?Uso più adatto
WebMCPDocumento browser attivoDopo che il client visita la paginaSìStato corrente dell’interfaccia e azioni della pagina
MCP remotoClient AI e server MCPTramite configurazione o scoperta client/serverNoStrumenti persistenti, dati e flussi backend
Endpoint Web/APIBackend dell’applicazioneTramite integrazione specifica dell’applicazioneNoAccesso programmatico stabile per consumatori noti
Dati strutturatiMarkup della paginaDurante l’elaborazione della paginaDi solito viene recuperata come contenutoDescrivere entità e significato della pagina, non eseguire azioni
llms.txtFile di testo staticoQuando un client sceglie di richiederloNon serve una scheda attivaGuida al contenuto proposta, non superficie di strumenti richiamabili
Automazione del browserAgente/controller che interpreta l’interfacciaDopo aver caricato e ispezionato la paginaSìFallback quando non esiste uno strumento esplicito della pagina

Non scegliere in base all’acronimo. Scegli in base al proprietario dell’azione. Se l’azione richiede il DOM, la selezione, il carrello o lo stato dell’interfaccia correnti, WebMCP può essere adatto. Se deve essere eseguita in background, su molti siti o senza una scheda aperta, usa un’API o MCP remoto.

L’API imperativa

L’API imperativa registra uno strumento tramite document.modelContext.registerTool(). Lo strumento include un nome univoco, una descrizione, un input JSON Schema, un callback execute e annotazioni facoltative. Chrome documenta inoltre getTools(), executeTool() per i test e un evento toolchange. Prova a sostegno di questa affermazione Current Chrome documentation uses document.modelContext and says navigator.modelContext is deprecated beginning in Chrome 150. Ambito: Chrome implementation guidance checked July 17, 2026; version and API-name claims expire quickly. Attendibilità: alta · Verificato: Chrome: WebMCP Imperative API

Questo candidato illustrativo mostra la forma prevista per un futuro pilot di Schema Validator. Non è in esecuzione su questo sito e l’API potrebbe cambiare prima di una release stabile:

if (document.modelContext) {
  const registration = new AbortController();

  await document.modelContext.registerTool({
    name: 'validate_schema',
    description: 'Validate pasted JSON-LD and return bounded issues.',
    inputSchema: {
      type: 'object',
      properties: {
        markup: {
          type: 'string',
          description: 'JSON-LD markup to validate.',
          maxLength: 50000
        }
      },
      required: ['markup'],
      additionalProperties: false
    },
    annotations: {
      readOnlyHint: true,
      untrustedContentHint: true
    },
    execute: async ({ markup }) => {
      const result = await validateWithTheSameEngineAsTheUI(markup);
      renderResultInTheVisibleUI(result);
      return minimizeValidationResult(result);
    }
  }, { signal: registration.signal });

  // When this page state no longer supports validation:
  // registration.abort();
}

L’architettura importante non è il wrapper. È che il callback chiami lo stesso validatore dell’interfaccia visibile, che limiti e autorizzazioni lato server continuino ad applicarsi e che la risposta sia ridotta deliberatamente al minimo. Il rilevamento della funzionalità conserva l’intero flusso umano nei browser non supportati.

Usa document.modelContext, non esempi obsoleti basati su navigator.modelContext; Chrome indica quest’ultimo come deprecato a partire da Chrome 150. Data questo consiglio perché la funzionalità resta sperimentale. Prova a sostegno di questa affermazione Current Chrome documentation uses document.modelContext; navigator.modelContext is deprecated in Chrome 150. Ambito: browser document Attendibilità: alta · Verificato: WebMCP Imperative API

L’API dichiarativa non coincide con gli standard

Chrome documenta un approccio dichiarativo che annota i moduli ordinari con attributi come toolname, tooldescription e toolparamdescription. Documenta anche toolautosubmit come opzione; altrimenti è l’utente a fare clic su Submit. SubmitEvent.agentInvoked identifica un invio attivato da un agente. Prova a sostegno di questa affermazione Chrome documents declarative WebMCP form annotations, but the July 10, 2026 Community Group draft says its Declarative WebMCP section is entirely TODO. Ambito: A direct comparison between Chrome implementation documentation and the current draft; it does not imply Chrome's experimental implementation is unavailable. Attendibilità: alta · Verificato: Chrome: WebMCP Declarative API WebMCP: Declarative WebMCP

Tuttavia, il Community Group Report del 10 luglio dice che la sezione Declarative WebMCP è “entirely a TODO” («interamente TODO») e lascia indefinito l’algoritmo da modulo a JSON Schema. Questo non significa che l’esperimento Chrome sia immaginario. Significa che la documentazione dell’implementazione è più avanti della bozza normativa. Tratta il markup dichiarativo come una superficie sperimentale di Chrome, non come HTML cross-browser stabilizzato. Prova a sostegno di questa affermazione Chrome documents declarative WebMCP form annotations, but the July 10, 2026 Community Group draft says its Declarative WebMCP section is entirely TODO. Ambito: A direct comparison between Chrome implementation documentation and the current draft; it does not imply Chrome's experimental implementation is unavailable. Attendibilità: alta · Verificato: Chrome: WebMCP Declarative API WebMCP: Declarative WebMCP

Per ora, i normali moduli semantici restano la base duratura. Un livello di annotazioni sperimentale dovrebbe migliorarli, mai sostituire etichette, validazione, accessibilità, conferma o autorizzazione lato server.

Scoperta degli strumenti, ciclo di vita e confini cross-origin

L’API attuale presenta diversi confini che vale la pena progettare esplicitamente:

  • Contesto di navigazione: l’esperimento Chrome richiede un contesto browser. Il client visita il sito prima di scoprirne gli strumenti.
  • Disponibilità dinamica: registra gli strumenti quando sono validi e interrompi la loro registrazione quando lo stato o la navigazione li rendono non validi. Gli observer possono ascoltare toolchange.
  • Stessa origine per impostazione predefinita: la Permissions Policy tools ha come valore predefinito 'self'. Gli iframe cross-origin richiedono una delega esplicita come allow="tools".
  • Consenso cross-origin su due lati: uno strumento può usare exposedTo per elencare le origini sicure autorizzate, mentre un chiamante richiede strumenti da origini nominate con fromOrigins. L’adesione di un solo lato non basta.
  • Progressive enhancement: WebMCP non supportato o disabilitato deve lasciare la pagina ordinaria completamente utilizzabile. Prova a sostegno di questa affermazione WebMCP tool exposure is origin-isolated and controlled by the tools Permissions Policy; cross-origin iframes require explicit delegation. Ambito: browser document Attendibilità: alta · Verificato: WebMCP Imperative API

Sono controlli utili della piattaforma, ma non trasformano un’azione applicativa rischiosa in un’azione sicura.

Sicurezza: la sessione browser aumenta la posta in gioco

Un agente browser può operare nella sessione autenticata dell’utente. Questo può essere la funzionalità — accesso al carrello, all’account o all’area di lavoro correnti — e anche il pericolo. Chrome e la bozza discutono prompt injection, metadati degli strumenti fuorvianti, output degli strumenti contaminati, parametri troppo ampi, perdita di privacy, esposizione cross-origin e uso improprio dell’autorità di un utente autenticato. Prova a sostegno di questa affermazione WebMCP tool hints can communicate read-only and untrusted-output intent, but they do not eliminate prompt injection, misleading metadata, privacy leakage, cross-origin risk, or misuse of authenticated browser authority. Ambito: Threat-model and defensive guidance; application authorization and confirmation remain implementation responsibilities. Attendibilità: alta · Verificato: WebMCP security and privacy considerations Chrome: WebMCP tool security Chrome: Agent security considerations

Tratta ogni strumento come un endpoint applicativo pubblico con un chiamante insolito:

  1. Mantieni lo strumento circoscritto. Un solo compito, input espliciti, enum e lunghezze rigorosi, nessun parametro nascosto che autorizzi qualsiasi operazione.
  2. Applica l’autorizzazione nella logica applicativa. L’agente non ottiene più autorità dell’utente autenticato e un suggerimento non è un permesso.
  3. Separa letture e scritture. readOnlyHint e untrustedContentHint comunicano il rischio; non lo impongono.
  4. Richiedi una conferma visibile per le conseguenze. Acquisti, invii, eliminazioni, messaggi e modifiche all’account richiedono un passaggio di controllo comprensibile per una persona.
  5. Riduci al minimo l’output. Restituisci solo ciò che serve al compito; non riversare mai dati di sessione, header grezzi, segreti o record non pertinenti.
  6. Tratta l’output come non attendibile. Una stringa restituita da uno strumento può diventare input per il ragionamento successivo del modello. Non permetterle di introdurre di nascosto istruzioni o autorità.
  7. Registra il confine. Registra strumento, classe dell’input, decisione di autorizzazione, conferma, classe del risultato, errore, origine e ciclo di vita senza registrare segreti.

La domanda sicura non è «un agente può chiamarlo?». È «esporrei questo come endpoint revisionato a un chiamante che può fraintendere le istruzioni e inoltrare testo non attendibile?».

Contratti di test e comportamento dell’agente separati

Le indicazioni di valutazione di Chrome separano i test deterministici del prodotto dai test probabilistici dell’agente. Prova a sostegno di questa affermazione WebMCP testing should combine deterministic contract and UI-state tests with probabilistic evaluation of agent tool selection and use. Ambito: Chrome's evaluation guidance; teams must define product-specific tasks, models, risks, and thresholds. Attendibilità: alta · Verificato: Chrome: Evals for WebMCP Entrambi sono importanti:

I test deterministici dovrebbero verificare registrazione, rifiuto dello schema, input validi e non validi, autorizzazione, limiti di frequenza, effetti collaterali, forma degli errori, riduzione dell’output al minimo, parità dell’interfaccia, comportamento di deregistrazione e fallback nei browser non supportati.

Le valutazioni probabilistiche dovrebbero misurare se agenti rappresentativi scoprono lo strumento corretto, evitano quelli irrilevanti, scelgono i parametri corretti, chiedono chiarimenti quando necessario, rispettano le conferme, si fermano dopo il successo e resistono a descrizioni o output avversari.

Non usare un’unica demo prompt come gate di release. Un callback riuscito dimostra che il codice è stato eseguito; non dimostra che i modelli lo selezionino in modo affidabile o che l’azione sia sicura.

Cloudflare Browser Run: laboratorio utile, non abilitazione

Cloudflare documenta il supporto WebMCP nel pool di laboratorio sperimentale di Browser Run e dice che le sessioni di laboratorio non dovrebbero essere usate per carichi di lavoro di produzione. La sua pagina del 23 aprile contiene anche nomi di test più vecchi dell’epoca Chrome; usala quindi come prova dell’offerta attuale di Cloudflare, non come autorità sulla forma più recente dell’API WebMCP. Prova a sostegno di questa affermazione Cloudflare Browser Run offers experimental lab sessions that can consume and test page-provided WebMCP tools, but the page still owns tool registration and Cloudflare says lab sessions are not for production workloads. Ambito: Cloudflare product documentation last updated April 23, 2026; its example API names lag current Chrome documentation and should not be used as the API authority. Attendibilità: alta · Verificato: Cloudflare Browser Run: WebMCP

Cloudflare può fornire una sessione browser e un percorso agente che consuma strumenti. Non può dedurre il contratto sicuro della tua applicazione né registrare strumenti di proprietà della pagina che non hai costruito.

Pilot proposto per patrickstox.com: Schema Validator

Lo Schema Markup Validator è un buon candidato per un futuro pilot, non un’implementazione WebMCP attiva. Dispone già di un input incollato circoscritto, logica deterministica, problemi strutturati e un risultato visibile. Un futuro strumento validate_schema potrebbe riutilizzare lo stesso motore di validazione dell’interfaccia e dell’attuale suite di strumenti MCP remoti.

Il pilot dovrebbe aspettare che l’API del browser raggiunga una release stabile e non sperimentale e superi una nuova revisione di sicurezza. La prima versione dovrebbe essere di sola lettura, rilevata tramite feature detection, limitata negli input, con risposta ridotta al minimo e non disponibile sulle superfici preview, admin o riservate al proprietario. Questo sito non dichiara attualmente il supporto WebMCP.

Decisione: costruire, sperimentare, aspettare o saltare

SituazioneDecisione
Per un flusso cliente è richiesto un supporto browser stabileAspetta e mantieni completo il normale UI/API
Hai un’azione circoscritta di sola lettura e puoi gestire un laboratorio privatoSperimenta, con feature detection e senza dipendenze dalla produzione
L’attività richiede esecuzione in background o headlessUsa un’API o MCP remoto
La pagina pubblica soltanto contenutiSalta WebMCP; migliora HTML semantico e accessibile
L’azione scrive, acquista, invia, elimina o espone dati privatiNon fare un pilot alla leggera; richiedi un threat model separato e un progetto di conferma
Viene distribuita un’implementazione stabile e superano i test di contratto, sicurezza e paritàValuta un pilot progressivo in produzione

Aggiungi una nota dell’esperto

Fissa una citazione dell’esperto

Persona nuova? Crea il suo profilo non rivendicato in /admin/experts/ → Fissa una citazione dell’esperto prima.