Quando Scegliere Ogni Opzione
Una guida chiara basata sulla Sua situazione specifica ed esigenze.
La Nostra Raccomandazione
Quattro giorni dopo la scadenza il quadro è cambiato due volte. La specifica è finale: il tag 2026-07-28 è passato a non-prerelease il 28 luglio alle 16:47 UTC, quindi l'obiezione di governance alla migrazione decade. PyPI ha seguito lo stesso giorno — pip install mcp ora risolve alla 2.0.0 (caricata il 28 luglio alle 13:45 UTC), non più alla 1.28.1 ancora corrente la mattina della scadenza. Ciò che non si è mosso è l'SDK TypeScript principale: @modelcontextprotocol/sdk resta alla 1.30.0, pubblicata il 2026-07-27 alle 17:56 UTC. La linea di frattura non separa più TypeScript da Python, ma i pacchetti server e Python da quell'unico pacchetto TypeScript principale che quasi ogni client su misura importa. Scelga v2 stateless ora se sviluppa server MCP in TypeScript (i pacchetti con scope @modelcontextprotocol/server, /node e /hono sono 2.0.0 stable) o in Python, e se le servono scalabilità orizzontale senza sessioni sticky, routing resistente ai riavvii ed esecuzione serverless pulita. Resti su v1 stateful dove dipende direttamente da @modelcontextprotocol/sdk — il codice client e tutto ciò che poggia sull'SDK principale non ha alcun 2.x da installare — o dove i suoi client e adattatori non sono stati testati contro un server stateless. In ogni caso fissi le versioni: quattro pacchetti npm con scope e il mcp di PyPI risolvono ormai latest alla 2.0.0, quindi un'installazione non fissata attraversa da sola una versione major. E il 28 luglio non si è rotto nulla: le deprecazioni di Roots, Sampling e Logging restano semplici annotazioni per almeno un anno — migri con criterio, pacchetto per pacchetto. Settembre 2026 rende operativa l'asimmetria: con la 2.2.0 e il backport v1.30.0 usciti lo stesso giorno, il contenimento dei redirect è diventato prerequisito su entrambe le linee — ma validazione dell'issuer, controlli token-resource e gestione sessioni restano solo in 2.x. La linea v1 ormai riceve manutenzione, non evoluzione; se aspettavi una ragione per pianificare il passaggio, è questa. Al 23/09/2026: con server e node entrambi alla 2.1.0, la linea 2.x è il default in entrambe le famiglie di pacchetti; i pin 1.x residui sono ormai debito di transizione, non ancoraggio di stabilità.
- Scelga MCP v2 senza stato quando...
- @modelcontextprotocol/server 2.0.0) o in Python, dove pip install mcp ora risolve alla 2.2.0
- Le serve scalabilità orizzontale senza sessioni sticky, oppure hosting serverless ed effimero per strumenti remoti
- Può spostare lo stato di sessione su client, database o store condivisi prima della migrazione
- La sua governance richiedeva un tag di specifica finale prima della migrazione — il tag 2026-07-28 è ora finale, non più un release candidate
- Scelga MCP v1 con stato quando...
- Il suo codice importa direttamente @modelcontextprotocol/sdk: resta alla 1.30.0 e non esiste alcuna release 2.x da installare
- La logica dei suoi server dipende ancora da sessioni di lunga durata, o i suoi client e adattatori non sono testati contro un server stateless
- Gestisce infrastruttura v1 con versioni fissate, dove un aggiornamento major sul posto è più rischioso del margine di scalabilità che otterrebbe
- Il suo processo di rilascio richiede che strumenti client e server stiano sulla stessa versione major