Anmod om klientens roots
Bed om listen over tilladte arbejdsmapper.
Anmod om klientens roots er en gratis MCP Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i MCP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. MCP Academy-kurset indeholder 4 lektioner i alt.
Lad os nu bede om dem
At vide, at rødder findes, er første trin. Andet trin er faktisk at bede klienten om dens aktuelle liste, så din server kan afgøre, hvor den må læse eller skrive. 📨
Serveren starter
Her vender retningen: Din server sender anmodningen, og klienten svarer. Den metode, den kalder, er roots/list, som beder om alt det, klienten aktuelt viser.
{ "method": "roots/list" }Få adgang til rødder via konteksten
I Python SDK'et bygger du ikke rå JSON. Du bruger det kontekst-objekt for anmodningen, som udleveres til dit værktøj, og som indkapsler den aktive session med klienten.
async def my_tool(ctx: Context):
...Et enkelt kald
Fra denne kontekst kalder du list_roots() og afventer det. SDK'et sender roots/list for dig og returnerer klientens svar som et resultat med en bestemt type.
result = await ctx.session.list_roots()Hvad der kommer tilbage
Svaret indeholder en liste over roots. Hvert element har en uri og et valgfrit navn, præcis den lille struktur, du så tidligere, klar til at blive gennemløbet.
for root in result.roots:
print(root.uri, root.name)Den kan være tom
Et gyldigt svar kan være en tom liste. Det betyder, at klienten ikke tilbyder nogen rødder lige nu, så planlæg en fornuftig nødløsning i stedet for at antage, at en mappe findes.
Kontrollér funktionen først
Det giver kun mening at kalde list_roots, hvis klienten understøtter rødder. En hensynsfuld server kontrollerer den erklærede funktion, før den spørger, og undgår dermed fejl på værter, der ikke har den.
Spørg på det rigtige tidspunkt
Hent rødder når du har brug for dem, f.eks. i starten af et filværktøj. Ved først at spørge, når det er nødvendigt, får du den aktuelle liste, hvis brugeren siden har åbnet en anden mappe.
Lav en rod om til en sti
En rods uri er en streng som file:///home/ada. For at bruge den skal du fortolke file://-URI'en som en rigtig filsystemsti, før du åbner noget i den.
from urllib.parse import urlparse
path = urlparse(root.uri).pathLyt efter ændringer
Hvis klienten understøtter det, kan den sende en notifikation, når rødder ændres. Hvis du opfanger den, kan du hente listen igen i stedet for at arbejde ud fra en forældet visning.
notifications/roots/list_changedHåndter fejl på en skånsom måde
Anmodningen kan stadig mislykkes eller løbe tør for tid. Pak kaldet ind, så et manglende svar giver dit værktøj en tydelig meddelelse i stedet for et nedbrud. 🛟
Hurtigt tjek
Vælg den rigtige måde at hente klientens rødder på i SDK'et.
Opsummering: Sådan beder du om rødder
Du afventer list_roots() på sessionen, gennemløber de returnerede rødder, fortolker hver file://-uri og håndterer tomme svar eller fejlende svar. Spørg igen, når rødderne ændres. ✅
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Anmod om klientens roots” gratis?
Ja — alle 3 lektioner i læringssporet MCP Academy, inklusive “Anmod om klientens roots”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. MCP Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Anmod om klientens roots”?
Bed om listen over tilladte arbejdsmapper. Du øver dig i MCP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på MCP Academy?
Der kræves ingen tidligere erfaring. MCP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Anmod om klientens roots”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne MCP Academy-lektion?
Ja. Alle MCP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvad roots fortæller en server
- Anmod om klientens roots
- Forhandl funktioner
- Respektér klientens grænser