Richiedere le root del client
Richieda l'elenco delle directory di lavoro consentite.
Richiedere le root del client è una lezione MCP Academy gratuita su CoddyKit. Questa è la lezione 2 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.
Ora chiediamole
Sapere che esistono le radici è il primo passo. Il secondo consiste nel chiedere effettivamente al client l’elenco attuale, così il server può decidere dove leggere o scrivere. 📨
È il server a iniziare
Qui la direzione si inverte: il server invia la richiesta e il client risponde. Il metodo che utilizza è roots/list, per chiedere tutto ciò che il client espone in quel momento.
{ "method": "roots/list" }Accedere alle radici tramite il contesto
Nel Python SDK non deve creare JSON grezzo. Utilizza l’oggetto context della richiesta fornito allo strumento, che gestisce la sessione attiva con il client.
async def my_tool(ctx: Context):
...Una semplice chiamata
Da quel contesto chiama list_roots() e la attende. L’SDK invia roots/list per Lei e restituisce la risposta del client come risultato tipizzato.
result = await ctx.session.list_roots()Che cosa viene restituito
La risposta contiene un elenco di roots. Ogni elemento ha un uri e un nome facoltativo, esattamente la semplice struttura già vista, pronta per essere elaborata in un ciclo.
for root in result.roots:
print(root.uri, root.name)Può essere vuoto
Una risposta valida può essere un elenco vuoto. Ciò significa che il client non offre alcuna radice in quel momento; quindi preveda un fallback sensato invece di presumere che esista una cartella.
Controlli prima la funzionalità
Chiamare list_roots ha senso solo se il client supporta le radici. Un server rispettoso controlla la funzionalità dichiarata prima di effettuare la richiesta, evitando errori sugli host che non la supportano.
Chieda le radici al momento giusto
Recuperi le radici quando ne ha bisogno, ad esempio all’inizio di uno strumento per i file. Una richiesta differita mantiene i dati aggiornati se nel frattempo l’utente ha aperto un’altra cartella.
Convertire una radice in un percorso
L’uri di una radice è una stringa come file:///home/ada. Per utilizzarlo, analizzi l’URI file:// e lo converta in un vero percorso del file system prima di aprire qualsiasi elemento al suo interno.
from urllib.parse import urlparse
path = urlparse(root.uri).pathAscoltare le modifiche
Se il client lo supporta, può inviare una notifica quando le radici cambiano. Intercettandola, può recuperare nuovamente l’elenco invece di lavorare con una versione obsoleta.
notifications/roots/list_changedGestire gli errori con attenzione
La richiesta può comunque fallire o andare in timeout. Racchiuda la chiamata in una gestione degli errori, così una risposta mancante lascia allo strumento un messaggio chiaro invece di causare un crash. 🛟
Verifica rapida
Scelga il modo corretto per ottenere le radici del client nell’SDK.
Riepilogo: chiedere le radici
Attende list_roots() sulla sessione, scorre le radici restituite, analizza ogni uri file:// e gestisce le risposte vuote o fallite. Ripeta la richiesta quando le radici cambiano. ✅
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 «Richiedere le root del client» è gratuita?
Sì — il testo completo di «Richiedere le root del client» è 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 «Richiedere le root del client»?
Richieda l'elenco delle directory di lavoro consentite. 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 2 di 4.
Quanto tempo richiede la lezione «Richiedere le root del client»?
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
- Che cosa comunicano le root a un server
- Richiedere le root del client
- Negoziare le funzionalità
- Rispettare i limiti del client