Uzyskiwanie dostępu do obiektu kontekstu
Uzyskaj dostęp do kontekstu żądania wewnątrz narzędzia.
Uzyskiwanie dostępu do obiektu kontekstu to bezpłatna lekcja MCP Academy na CoddyKit. To lekcja 3 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.
Poznaj obiekt Context
Obiekt Context jest bramą narzędzia do żądania: przenosi współdzielony stan oraz pomocnicze funkcje do rejestrowania informacji i raportowania postępu.
Poproś o niego za pomocą typu
Dodaj parametr z adnotacją typu Context, a FastMCP wstrzyknie go automatycznie. Klienci nigdy nie zobaczą tego argumentu.
from mcp.server.fastmcp import Context
@mcp.tool()
async def greet(name: str, ctx: Context) -> str:
return "hi " + nameUzyskaj dostęp do współdzielonego stanu
Przejdź przez ctx.request_context.lifespan_context, aby uzyskać dokładnie ten obiekt, który lifespan przekazał podczas uruchamiania.
app = ctx.request_context.lifespan_context
rows = await app.db.query("...")Użyj aktywnego połączenia
Od tej pory narzędzie działa na współdzielonej puli zamiast otwierać zupełnie nowe połączenie przy każdym wywołaniu.
Rejestruj informacje przez kontekst
Wywołaj ctx.info, aby wysłać wiersz logu do klienta — jest to znacznie bardziej użyteczne niż ukryty print na serwerze.
await ctx.info("loading user " + str(user_id))Raportuj również postęp
W przypadku długotrwałych operacji funkcja ctx.report_progress przesyła aktualizacje procentowego postępu, aby host mógł pokazać użytkownikowi pasek postępu.
await ctx.report_progress(progress=3, total=10)Jest wstrzykiwany, a nie przekazywany
Model nigdy nie wypełnia ctx. FastMCP rozpoznaje adnotację typu i sam dostarcza ten parametr, dzięki czemu nie pojawia się on w schemacie narzędzia.
Narzędzia asynchroniczne dobrze współpracują z kontekstem
Większość funkcji pomocniczych kontekstu można awaitować, dlatego narzędzia korzystające z kontekstu należy definiować jako funkcje asynchroniczne.
Nazwij go dowolnie
Nazwa parametru zależy od Ciebie — znaczenie ma adnotacja typu. Zgodnie z konwencją często używa się po prostu nazwy ctx.
Jeden kontekst na żądanie
Każde wywołanie narzędzia otrzymuje własny kontekst żądania, ale wszystkie takie konteksty wskazują na ten sam długowieczny stan lifespan.
Odczytuj metadane żądania
Kontekst udostępnia również metadane żądania, dzięki czemu narzędzie może sprawdzić szczegóły konkretnego obsługiwanego wywołania.
Szybkie sprawdzenie
Jak uzyskać obiekt Context wewnątrz narzędzia FastMCP?
Podsumowanie: obiekt Context
Uzyskujesz dostęp do współdzielonego stanu przez ctx.request_context.lifespan_context, a obiektu ctx używasz do rejestrowania informacji i raportowania postępu. Dalej: poprawne zamykanie. 🔌
Często zadawane pytania
Czy lekcja „Uzyskiwanie dostępu do obiektu kontekstu” jest bezpłatna?
Tak — pełny tekst „Uzyskiwanie dostępu do obiektu kontekstu” 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 „Uzyskiwanie dostępu do obiektu kontekstu”?
Uzyskaj dostęp do kontekstu żądania wewnątrz narzędzia. Ć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 3 z 4.
Ile czasu zajmuje lekcja „Uzyskiwanie dostępu do obiektu kontekstu”?
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
- Mechanizm uruchamiania Lifespan
- Udostępnianie stanu przez kontekst aplikacji
- Uzyskiwanie dostępu do obiektu kontekstu
- Czyste zamykanie i zwalnianie zasobów