Få tilgang til kontekstobjektet
Få tilgang til forespørselskonteksten inne i et verktøy.
Få tilgang til kontekstobjektet er en gratis leksjon i MCP Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i MCP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i MCP Academy inneholder totalt 4 leksjoner.
Bli kjent med Context-objektet
Context-objektet er verktøyets inngangsport til forespørselen: det inneholder delt tilstand samt hjelpere for logging og fremdrift.
Be om det med en type
Legg til en parameter med typehint Context, så injiserer FastMCP den automatisk. Klientene ser aldri dette argumentet.
from mcp.server.fastmcp import Context
@mcp.tool()
async def greet(name: str, ctx: Context) -> str:
return "hi " + nameFå tilgang til den delte tilstanden
Gå via ctx.request_context.lifespan_context for å hente akkurat det objektet levetiden yield-et ved oppstart.
app = ctx.request_context.lifespan_context
rows = await app.db.query("...")Bruk den aktive forbindelsen
Nå kjører verktøyet mot den delte poolen i stedet for å åpne en helt ny forbindelse ved hvert kall.
Logg gjennom konteksten
Kall ctx.info for å sende en logglinje til klienten. Det er langt mer nyttig enn en skjult print på serveren.
await ctx.info("loading user " + str(user_id))Rapporter også fremdrift
For langsomt arbeid strømmer ctx.report_progress oppdateringer om prosentvis fremdrift, slik at verten kan vise brukeren en fremdriftsindikator.
await ctx.report_progress(progress=3, total=10)Den injiseres, ikke sendes inn
Modellen fyller aldri inn ctx. FastMCP kjenner igjen typehintet og leverer det, slik at det ikke tas med i verktøyskjemaet.
Asynkrone verktøy liker Context
De fleste konteksthjelperne kan await-es, så verktøy som bruker kontekst bør defineres som asynkrone funksjoner, slik at de kan kalles på en ryddig måte.
Kall det hva du vil
Parameternavnet velger du selv; det er typehintet som er viktig. Mange kaller det ganske enkelt ctx av konvensjon.
Én kontekst per forespørsel
Hvert verktøykall får sin egen forespørselskontekst, men alle peker underliggende på den samme langlivede tilstanden fra levetiden.
Les metadata for forespørselen
Konteksten gir også tilgang til metadata for forespørselen, slik at et verktøy kan undersøke detaljer om det konkrete kallet det håndterer.
Rask sjekk
Hvordan får du tilgang til Context-objektet inne i et FastMCP-verktøy?
Oppsummering: Context-objektet
Du får tilgang til delt tilstand via ctx.request_context.lifespan_context og bruker ctx til logging og fremdrift. Neste tema er ryddig nedstengning. 🔌
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Få tilgang til kontekstobjektet» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien MCP Academy, inkludert «Få tilgang til kontekstobjektet», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i MCP Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Få tilgang til kontekstobjektet»?
Få tilgang til forespørselskonteksten inne i et verktøy. Du øver på MCP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med MCP Academy?
Ingen tidligere erfaring er nødvendig. MCP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Få tilgang til kontekstobjektet»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne MCP Academy-leksjonen?
Ja. Alle MCP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Lifespan-oppstartskroken
- Dele tilstand via appkontekst
- Få tilgang til kontekstobjektet
- Ryddig avslutning og frigjøring av ressurser