MCP Academy · Lekcja

Żądanie katalogów roots klienta

Poproś o listę dozwolonych katalogów roboczych.

Lekcja 2 z 413 kroki

Żądanie katalogów roots klienta to bezpłatna lekcja MCP Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej MCP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs MCP Academy zawiera 4 lekcji w sumie.

Poprośmy o nie

Wiedza o istnieniu korzeni to dopiero pierwszy krok. Drugim jest faktyczne poproszenie klienta o jego aktualną listę, aby serwer mógł zdecydować, skąd czytać i gdzie zapisywać dane. 📨

Żądanie inicjuje serwer

Tutaj kierunek się odwraca: serwer wysyła żądanie, a klient odpowiada. Wywoływana metoda to roots/list — służy do pobrania wszystkich korzeni aktualnie udostępnianych przez klienta.

{ "method": "roots/list" }

Dostęp do korzeni przez kontekst

W Python SDK nie trzeba tworzyć surowego kodu JSON. Należy użyć obiektu kontekstu żądania przekazanego narzędziu, który opakowuje aktywną sesję z klientem.

async def my_tool(ctx: Context):
    ...

Jedno proste wywołanie

Z tego kontekstu należy wywołać list_roots() i użyć await. SDK wyśle za Ciebie roots/list i zwróci odpowiedź klienta jako wynik o określonym typie.

result = await ctx.session.list_roots()

Co wraca w odpowiedzi

Odpowiedź zawiera listę roots. Każdy element ma uri oraz opcjonalną nazwę — dokładnie taką prostą strukturę, jaką widziałeś wcześniej — więc można od razu przejść po niej w pętli.

for root in result.roots:
    print(root.uri, root.name)

Lista może być pusta

Poprawna odpowiedź może zawierać pustą listę. Oznacza to, że klient obecnie nie udostępnia żadnych korzeni, dlatego należy zaplanować rozsądne rozwiązanie awaryjne, zamiast zakładać, że jakiś folder istnieje.

Najpierw sprawdź możliwości

Wywołanie list_roots ma sens tylko wtedy, gdy klient obsługuje korzenie. Uprzejmy serwer najpierw sprawdza zadeklarowaną możliwość, aby uniknąć błędów na hostach, które jej nie mają.

Pytaj we właściwym momencie

Pobieraj korzenie wtedy, gdy ich potrzebujesz, na przykład na początku działania narzędzia plikowego. Późne pobieranie zapewnia aktualność listy, jeśli użytkownik zdążył otworzyć inny folder.

Zamień korzeń na ścieżkę

Uri korzenia to ciąg znaków, na przykład file:///home/ada. Aby go użyć, należy przeanalizować URI file:// i zamienić je na rzeczywistą ścieżkę systemu plików, zanim otworzy się cokolwiek w jej obrębie.

from urllib.parse import urlparse
path = urlparse(root.uri).path

Nasłuchuj zmian

Jeśli klient to obsługuje, może wysłać powiadomienie o zmianie korzeni. Obsłużenie go pozwala ponownie pobrać listę zamiast pracować na nieaktualnym obrazie.

notifications/roots/list_changed

Łagodnie obsługuj błędy

Żądanie nadal może się nie powieść albo przekroczyć limit czasu. Owiń wywołanie tak, aby brak odpowiedzi skutkował jasnym komunikatem dla narzędzia, a nie jego awarią. 🛟

Szybkie sprawdzenie

Wybierz właściwy sposób pobierania korzeni klienta w SDK.

Podsumowanie: pobieranie korzeni

Należy użyć await dla list_roots() w sesji, przejść po zwróconych korzeniach, przeanalizować każde uri file:// oraz obsłużyć puste i nieudane odpowiedzi. Gdy korzenie się zmienią, zapytaj ponownie. ✅

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Żądanie katalogów roots klienta” jest bezpłatna?

Tak — pełny tekst „Żądanie katalogów roots klienta” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu MCP Academy, przejdź na CoddyKit PRO. Kurs MCP Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Żądanie katalogów roots klienta”?

Poproś o listę dozwolonych katalogów roboczych. Ćwiczysz MCP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć MCP Academy?

Nie wymagamy żadnego doświadczenia. MCP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Żądanie katalogów roots klienta”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji MCP Academy?

Tak. Każda lekcja MCP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Co katalogi roots mówią serwerowi
  2. Żądanie katalogów roots klienta
  3. Uzgadnianie możliwości
  4. Respektowanie ograniczeń klienta
← Powrót do MCP Academy