MCP Academy · Lektion

Protokolfejl kontra værktøjsfejl

Skeln mellem transportfejl og fejl i forretningslogikken.

Lektion 2 af 413 trin

Protokolfejl kontra værktøjsfejl 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.

To meget forskellige fejl

MCP har to slags fejl: en protokolfejl i selve dataoverførslen og en værktøjsfejl i din forretningslogik. De håndteres forskelligt.

Protokolfejl findes i JSON-RPC

En protokolfejl betyder, at meddelelsen slet ikke kunne behandles, for eksempel på grund af en ukendt metode eller ugyldige parametre. Den sendes i JSON-RPC's fejlfelt.

{"jsonrpc": "2.0", "id": 7,
 "error": {"code": -32601,
           "message": "Method not found"}}

Værktøjsfejl findes i resultatet

En værktøjsfejl betyder, at kaldet nåede din funktion, men at arbejdet gik galt. Den returnerer et normalt resultat, der er markeret med isError true.

Derfor er opdelingen vigtig

Modellen skal kunne se og reagere på værktøjsfejl, mens protokolfejl normalt signalerer en fejl, som klienten skal håndtere, og ikke noget AI'en kan prøve igen.

Standardiserede JSON-RPC-koder

Protokolkoder er negative og standardiserede: -32601 betyder metode ikke fundet, -32602 betyder ugyldige parametre, og -32700 betyder en fortolkningsfejl.

Værktøjsfejl når frem til modellen

Fordi en værktøjsfejl blot er et resultat, læser modellen den som kontekst og kan beslutte at prøve igen, tilpasse input eller forklare den. 🔁

Hæv en undtagelse i et værktøj

Når du hæver en undtagelse i et værktøj, omdanner FastMCP den til et værktøjsfejlresultat, ikke en protokolfejl. Din server fortsætter med at køre.

@mcp.tool()
def fetch(url: str) -> str:
    if not url.startswith("http"):
        raise ValueError("url must be http")

Ukendt værktøj er en protokolfejl

Hvis en klient beder om et værktøj, der ikke findes, er det en protokolfejl. Anmodningen når aldrig frem til nogen af dine funktioner.

Ugyldige argumenter kan være begge dele

Typeuoverensstemmelser på skemaniveau vises som en protokolfejl med ugyldige parametre, mens en gyldig type med en forkert værdi bedst behandles som en værktøjsfejl.

Tilpas fejlen til modtageren

Spørg, hvem der skal reagere. Hvis modellen kan rette det, skal det være en værktøjsfejl. Hvis kun udvikleren kan rette det, er en protokolfejl det rigtige valg.

Hold transportlaget sundt

Lad aldrig forretningsproblemer lække ud som protokolfejl. Det forvirrer klienter og kan lukke en session ned, som burde fortsætte.

Hurtigt tjek

Hvor bliver en fejl inde i din værktøjsfunktion rapporteret?

Opsummering

Protokolfejl betyder, at selve meddelelsen fejlede; værktøjsfejl betyder, at din logik fejlede. Send hver fejl videre til den, der kan handle på den, og hold transportlaget sundt. ✅

Gratis at komme i gang

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 “Protokolfejl kontra værktøjsfejl” gratis?

Ja — alle 3 lektioner i læringssporet MCP Academy, inklusive “Protokolfejl kontra værktøjsfejl”, 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 “Protokolfejl kontra værktøjsfejl”?

Skeln mellem transportfejl og fejl i forretningslogikken. 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 “Protokolfejl kontra værktøjsfejl”?

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

  1. Værktøjsfejl, som modellen kan se
  2. Protokolfejl kontra værktøjsfejl
  3. Validér input, før De handler
  4. Fejl sikkert, og hæng aldrig
← Tilbage til MCP Academy