Versionare strumenti e schemi
Evolva il Suo server senza interrompere il funzionamento dei client.
Versionare strumenti e schemi è una lezione MCP Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento MCP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MCP Academy include 4 lezioni in totale.
I client dipendono dalle forme definite
Quando altri si connettono, fanno affidamento sui nomi degli strumenti e sulle forme degli argomenti. Modificarli senza cautela interrompe tutti i client contemporaneamente.
Le modifiche additive sono sicure
Aggiungere un parametro facoltativo con un valore predefinito mantiene operativi i vecchi chiamanti. Semplicemente ignorano il nuovo campo che non inviano.
def search(q: str, limit: int = 10) -> list:
...Le modifiche incompatibili fanno male
Rinominare uno strumento, rimuovere un argomento o renderne uno obbligatorio è una modifica incompatibile. I client esistenti inviano improvvisamente chiamate che non sono più conformi.
Aggiungere, poi deprecare
Per far evolvere un campo, aggiunga quello nuovo e mantenga quello precedente. Indichi quello precedente come deprecato nella descrizione, così chi effettua le chiamate saprà che deve eseguire la migrazione.
Inserire la versione nel nome dello strumento
In caso di una vera modifica incompatibile, distribuisca uno strumento v2 accanto a v1. Entrambi funzioneranno per un certo periodo, consentendo ai client di migrare secondo i propri tempi.
@mcp.tool(name="search_v2")
def search_v2(query: str) -> list:
...Il server comunica la propria versione
Durante l'handshake, il server comunica un nome e una versione. Incrementi la versione, così i client possono sapere a quale release si sono connessi.
mcp = FastMCP("my-server")
# version surfaces in server infoSeguire il versionamento semantico
Utilizzi semver: incrementi la patch per le correzioni, la minor per le funzionalità aggiuntive e la major quando apporta una modifica incompatibile. Il numero racconta una storia.
Ampliare, non restringere, gli output
Aggiungere un campo a un risultato è generalmente sicuro; rimuoverne uno è una modifica incompatibile. Consideri lo schema di output come una promessa che i client analizzano.
Mantenere un changelog
Registri ogni modifica agli strumenti e agli schemi in un changelog. Chi esegue l'aggiornamento deve poter vedere cosa è cambiato, cosa è nuovo e cosa è stato rimosso.
Stabilire una scadenza per le deprecazioni
Comunichi quando uno strumento precedente verrà rimosso. Una data di sunset chiara incentiva la migrazione senza cogliere nessuno alla sprovvista.
Testare con i client precedenti
Prima del rilascio, esegua i test simulando le chiamate di un client precedente. In questo modo individuerà le modifiche incompatibili accidentali che il type checker non può rilevare.
Verifica rapida
Quale modifica a uno strumento esistente è sicura per i client attuali?
Riepilogo: evolvere in sicurezza
Preferisca modifiche additive, deprechi prima di rimuovere, distribuisca v2 per le vere modifiche incompatibili, segua semver e mantenga un changelog. Potrà distribuire con fiducia! 🚀
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Versionare strumenti e schemi» è gratuita?
Sì — il testo completo di «Versionare strumenti e schemi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso MCP Academy, passa a CoddyKit PRO. Il corso MCP Academy include 4 lezioni in totale.
Cosa imparerò in «Versionare strumenti e schemi»?
Evolva il Suo server senza interrompere il funzionamento dei client. Eserciti MCP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare MCP Academy?
Non è richiesta alcuna esperienza precedente. MCP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Versionare strumenti e schemi»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione MCP Academy?
Sì. Ogni lezione MCP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Architettura server a livelli
- Configurazione e segreti tramite l'ambiente
- Strumenti idempotenti e consapevoli degli effetti collaterali
- Versionare strumenti e schemi