MimìrCast: le novità sull’AI ogni giorno Ascolta il podcast ➔
Illustrazione di copertina: MCP si aggiorna: il protocollo per agenti AI diventa stateless e pronto per il cloud

MCP si aggiorna: il protocollo per agenti AI diventa stateless e pronto per il cloud

Il 28 luglio 2026 il Model Context Protocol ha ricevuto il suo aggiornamento più profondo dalla nascita. La specifica MCP 2026-07-28 non aggiunge semplicemente funzionalità: riscrive il cuore del protocollo, che da bidirezionale e con sessioni diventa un normale scambio richiesta/risposta. In pratica, ogni chiamata MCP è ora autosufficiente e può finire su qualunque istanza del server, senza handshake iniziale e senza session ID da conservare. È il cambiamento che porta MCP fuori dal laboratorio e dentro l’infrastruttura cloud vera: serverless, edge, load balancer round-robin, cache HTTP standard.

Per chi costruisce agenti AI in azienda non è una notizia da archiviare tra le curiosità tecniche. Se hai un server MCP in produzione che mantiene stato per sessione, questa revisione richiede lavoro. Se stai valutando ora dove mettere le tue integrazioni, invece, hai appena guadagnato opzioni di deployment che prima non esistevano. Vediamo cosa cambia davvero, cosa si rompe e in che ordine muoversi. Se il protocollo ti è nuovo, conviene partire dalla nostra guida al Model Context Protocol e ai server MCP e dal quadro d’insieme su AI agentica: cos’è e come funziona.

In questo articolo scoprirai:

  • Cosa cambia nella specifica MCP 2026-07-28: il protocollo diventa stateless
  • Serverless e scalabilità orizzontale: perché lo stateless cambia i conti
  • MRTR, Tasks e MCP Apps: le nuove primitive per agenti
  • Cosa si rompe e cosa è deprecato nella nuova specifica MCP
  • Cosa devono fare adesso le aziende con agenti AI in produzione

Cosa cambia nella specifica MCP 2026-07-28: il protocollo diventa stateless

Fino alla revisione precedente, MCP era descritto dalla documentazione ufficiale come “a stateful session protocol”. Il client apriva la conversazione con una chiamata initialize, riceveva un identificatore di sessione e lo rispediva a ogni richiesta successiva. Funzionava bene su una singola macchina, molto meno su una flotta.

Il changelog ufficiale della revisione 2026-07-28 è esplicito: viene rimosso l’handshake initialize/notifications/initialized e viene eliminato l’header Mcp-Session-Id dal transport Streamable HTTP. Al loro posto, ogni singola richiesta trasporta nel campo _meta la versione di protocollo (io.modelcontextprotocol/protocolVersion) e le capability del client. In caso di disallineamento il server risponde con UnsupportedProtocolVersionError.

server/discover e il nuovo campo resultType

La negoziazione non scompare, cambia forma. I server devono obbligatoriamente implementare la nuova RPC server/discover, con cui dichiarano versioni supportate, capability e identità; il client può chiamarla in anticipo per scegliere la versione, oppure usarla come sonda di retrocompatibilità su STDIO. Tutti i risultati portano poi un campo resultType obbligatorio, con valore complete per una risposta ordinaria.

Chi ha bisogno di stato tra chiamate non resta scoperto, ma deve renderlo esplicito: la specifica prescrive che i server usino handle generati dal server stesso e passati come normali argomenti di tool. Lo stato non è vietato, è solo uscito dal protocollo ed è diventato responsabilità applicativa. È una differenza di ingegneria non banale: rende visibile nel contratto del tool ciò che prima era nascosto nella connessione. Sparisce anche la resumability degli stream SSE (via Last-Event-ID e event ID): se lo stream si interrompe, la richiesta in volo è persa e il client deve rieseguirla con un nuovo ID.

Serverless e scalabilità orizzontale: perché lo stateless cambia i conti

Qui sta il vero impatto economico. Nel post di AWS dedicato al supporto della nuova spec, il team di AgentCore Gateway riassume la situazione precedente senza sconti: servivano sticky session sul load balancer, uno store di sessione condiviso dietro la flotta, o entrambi. Con la revisione 2026-07-28 quei due requisiti cadono, perché ogni richiesta è autosufficiente e può essere servita da qualsiasi istanza.

Tradotto in voci di costo: niente Redis o memcached dedicati alla sessione MCP, configurazioni di bilanciamento banali, scale-to-zero possibile. Un server MCP diventa un normale workload HTTP. Sean Roberts di Netlify, citato nell’annuncio ufficiale, lo formula così: il core stateless “makes MCP a first-class HTTP workload with no session management to work around”.

Routing sugli header e cache: Mcp-Method, ttlMs e cacheScope

Due modifiche minori nel changelog hanno conseguenze operative sproporzionate. La prima: le richieste POST su Streamable HTTP devono includere gli header Mcp-Method e Mcp-Name. Significa che gateway, WAF e rate limiter possono instradare e contabilizzare le chiamate senza aprire il body JSON, cioè senza deep packet inspection. GitHub, che ha allineato il proprio server MCP il 23 luglio, cita esattamente questo tra i tre interventi fatti, insieme alla rimozione delle sessioni Redis dall’inizializzazione.

La seconda: i risultati di tools/list, prompts/list, resources/list e resources/read devono ora esporre ttlMs e cacheScope (public o private). Il client sa per quanto tempo può tenersi la lista dei tool e se un intermediario condiviso può metterla in cache. La spec raccomanda inoltre di restituire i tool in ordine deterministico, per migliorare gli hit sulla prompt cache dell’LLM: meno polling, meno token bruciati a ogni turno. Per chi ragiona in termini di architettura complessiva, il tema si intreccia con le scelte descritte in architettura enterprise con agenti AI: trasformazione graduale o totale.

MRTR, Tasks e MCP Apps: le nuove primitive per agenti

Togliere le sessioni obbligava a ripensare tutto ciò che prima richiedeva al server di iniziare una richiesta verso il client. La risposta si chiama Multi Round-Trip Requests (MRTR), introdotta con SEP-2322. Al posto di sampling/createMessage, elicitation/create o roots/list avviati dal server, quest’ultimo risponde con resultType: "input_required" e un campo inputRequests che elenca ciò che gli serve; il client riprova la richiesta originale allegando inputResponses. Nessuna connessione tenuta aperta, nessuna corsia bidirezionale da mantenere.

Tasks e subscriptions: le operazioni lunghe nella specifica MCP 2026-07-28

Le operazioni lunghe passano all’estensione ufficiale io.modelcontextprotocol/tasks: il metodo bloccante tasks/result lascia il posto al polling con tasks/get, arriva tasks/update per l’input dal client e i server possono restituire un task handle anche senza opt-in per richiesta. Le notifiche di cambiamento, invece, si concentrano in un unico stream long-lived subscriptions/listen, a cui il client si iscrive dichiarando i tipi che gli interessano.

MCP Apps e le estensioni ufficiali del protocollo MCP

Sul fronte esperienza utente, MCP Apps ed Enterprise Managed Authorization diventano estensioni ufficiali. Anthropic scrive che MCP Apps permette ai server di “render interactive UI directly in the conversation” e che la combinazione con l’auth gestita dall’azienda abilita uno “zero-touch setup for the end user”: l’utente finale non configura nulla. Nello stesso annuncio compaiono i numeri dell’ecosistema: oltre 400 milioni di download mensili degli SDK, quadruplicati in un anno, e più di 950 server MCP nella directory dei connettori di Claude. Il framework di estensioni, con identificatori reverse-DNS e repository propri, è la parte politicamente più interessante: consente di far crescere MCP senza toccare il core, esattamente il problema che aveva reso rigida la fase precedente. Sul rapporto tra MCP e gli altri standard agentici abbiamo approfondito in MCP e A2A: i protocolli che ridisegnano l’AI agentica.

Cosa si rompe e cosa è deprecato nella nuova specifica MCP

La revisione arriva con la prima politica formale di deprecazione della storia del protocollo: stati Active, Deprecated e Removed, finestra minima di dodici mesi e un registro pubblico delle feature deprecate. È un segnale di maturità più importante di molte singole modifiche tecniche.

Nel gruppo dei deprecati entrano tre feature storiche: Roots, Sampling e Logging. Restano pienamente funzionanti durante la finestra, ma le nuove implementazioni non dovrebbero adottarle. Le migrazioni suggerite sono concrete: passare directory e file come parametri di tool o URI di risorsa invece di Roots; integrare direttamente le API del provider LLM invece di Sampling; scrivere su stderr o usare OpenTelemetry invece del Logging di protocollo, e non a caso la spec documenta ora la propagazione del trace context (traceparent, tracestate, baggage) nei campi _meta. Deprecato anche il vecchio transport HTTP+SSE, da tempo in disgrazia, e la Dynamic Client Registration OAuth in favore dei Client ID Metadata Documents.

Rimozioni vere e proprie, invece, per ping, logging/setLevel e notifications/roots/list_changed: il livello di log si imposta per singola richiesta. Cambia il codice d’errore per risorsa non trovata (da -32002 a -32602) e viene definita una politica di allocazione dei codici d’errore. Attenzione infine a un dettaglio che morde in silenzio: gli schemi dei tool devono rispettare JSON Schema 2020-12 completo, quindi validatori permissivi che prima passavano possono far fallire la registrazione dei tool.

Cosa devono fare adesso le aziende con agenti AI in produzione

La buona notizia è che il livello SDK assorbe gran parte dell’urto. I quattro SDK Tier 1, TypeScript, Python, Go e C#, supportano la revisione dal giorno della pubblicazione, con Rust in beta, e GitHub segnala che tutti gli SDK Tier 1 hanno preservato la retrocompatibilità: per mantenere il funzionamento esistente, spesso non serve fare nulla. La cattiva notizia è che questo vale per il trasporto, non per la tua logica applicativa.

Priorità di migrazione alla specifica MCP 2026-07-28

L’ordine di priorità che emerge dalle guide di migrazione è ragionevolmente stabile. Primo: individuare ogni punto in cui il tuo server assume l’esistenza di una sessione e riscriverlo con handle espliciti o storage esterno, perché qualunque richiesta può atterrare su qualunque istanza. Secondo: smettere di trattare initialize come primo messaggio obbligatorio. Terzo: dichiarare ttlMs sulle liste, per far smettere ai client il refetch continuo. Quarto: validare tutti gli schemi dei tool. Quinto: censire le dipendenze da Roots, Sampling e Logging e pianificarne la sostituzione entro la finestra dei dodici mesi.

Identità e autorizzazione nei server MCP stateless

Sul fronte identità il lavoro è separato e va gestito con il team che presidia la sicurezza. Le richieste chiave sono la validazione del parametro iss secondo RFC 9207 prima di riscattare l’authorization code, il binding delle credenziali all’issuer che le ha emesse e la migrazione da DCR a CIMD dove l’authorization server lo consente. WorkOS sottolinea che con i Resource Indicators “a token minted for Server A can’t be replayed against Server B”, protezione ora imposta a livello di protocollo contro gli attacchi mix-up in deployment multi-server. Se i tuoi server MCP sono privati e devono restare tali, resta utile il pattern descritto in Secure MCP Tunnel.

La strategia di rollout consigliata da AWS è la meno rischiosa: aggiungere la 2026-07-28 accanto alle versioni già supportate, migrare i client con calma e solo alla fine ridurre l’elenco. Vale la pena ricordare che nulla di tutto questo è gratuito in termini di manutenzione: un protocollo che ora ha un ciclo di vita formale delle feature genererà revisioni periodiche da assorbire, tema che tocchiamo in manutenzione degli agenti AI post-deployment. E se la parte più delicata è il collegamento con i sistemi gestionali di casa, il quadro è quello descritto in integrare agenti AI con ERP e CRM: la sfida dei sistemi legacy. Per chi valuta se costruire in casa o affidarsi a un partner, il ragionamento è in Claude Agent SDK per PMI e in perché nell’AI agent enterprise il servizio conta più del modello.

Fonti:

Domande frequenti

Che cos'è il protocollo MCP?

Il Model Context Protocol è uno standard aperto introdotto da Anthropic a novembre 2024 che definisce un linguaggio comune con cui i modelli linguistici accedono a dati, strumenti e servizi esterni. È il motivo per cui uno stesso server può essere usato da client diversi senza integrazioni su misura.

Cos'è l'MCP stateless?

Significa che il protocollo non mantiene più stato tra una richiesta e l'altra: non c'è handshake iniziale né identificatore di sessione, e ogni chiamata contiene tutto ciò che serve per essere elaborata. Lo stato applicativo, se necessario, viaggia in handle espliciti generati dal server.

Un server MCP deve essere stateless?

Dal 28 luglio 2026 il livello di protocollo lo è per definizione. Il tuo server può ancora conservare stato, ma deve farlo in storage esterno condiviso e riferirlo tramite argomenti di tool, non tramite la connessione.

MCP era un protocollo stateful?

Sì. Fino alla revisione 2025-11-25 la documentazione lo descriveva come protocollo a sessione stateful basato su JSON-RPC. Il passaggio a stateless è la ragione per cui questa è la revisione più invasiva dalla nascita del protocollo.

La migrazione rompe i client esistenti?

Non immediatamente. Gli SDK Tier 1 mantengono la retrocompatibilità e la finestra di deprecazione minima è di dodici mesi, ma versioni vecchie e nuove non si parlano in modo silenzioso: serve un periodo di doppio supporto pianificato.

Tabella dei contenuti
Articoli correlati:
Vuoi che l'AI diventi il tuo motore di valore più potente?

Ti accompagniamo noi con Mimír AI Agent.