0Pricing
MCP Academy · Leçon

Erreurs de protocole ou échecs d’outil

Distinguez les défaillances du transport des erreurs de logique métier.

Erreurs de protocole ou échecs d’outil est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MCP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MCP Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Two Very Different Failures

MCP has two kinds of failure: a protocol error in the wire itself, and a tool failure inside your business logic. They are handled differently.

Protocol Errors Live in JSON-RPC

A protocol error means the message could not be processed at all, like an unknown method or malformed params. It rides in the JSON-RPC error field.

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

Tool Failures Live in the Result

A tool failure means the call reached your function but the work went wrong. It returns a normal result marked with isError true.

Why the Split Matters

The model should see and react to tool failures, but protocol errors usually signal a bug the client must handle, not something the AI can retry.

Standard JSON-RPC Codes

Protocol codes are negative and standardized: -32601 is method not found, -32602 is invalid params, -32700 is a parse error.

Tool Failures Reach the Model

Because a tool failure is just a result, the model reads it as context and can decide to retry, adjust input, or explain it. 🔁

Raising Inside a Tool

When you raise an exception in a tool, FastMCP turns it into a tool failure result, not a protocol error. Your server keeps running.

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

Unknown Tool Is Protocol-Level

If a client asks for a tool that does not exist, that is a protocol error. The request never reaches any function of yours.

Bad Arguments Can Be Either

Schema-level type mismatches surface as a protocol invalid-params error, while a valid type with a bad value is best a tool failure.

Match Failure to Audience

Ask who should react. If the model can fix it, make it a tool failure. If only the developer can, a protocol error is right.

Keep Transport Healthy

Never let business problems leak out as protocol errors. Doing so confuses clients and can tear down a session that should keep going.

Quick Check

Where does a failure inside your tool function get reported?

Recap

Protocol errors mean the message itself failed; tool failures mean your logic failed. Route each to who can act on it and keep transport healthy. ✅

Questions Fréquemment Posées

La leçon « Erreurs de protocole ou échecs d’outil » est-elle gratuite ?

Oui — le texte complet de « Erreurs de protocole ou échecs d’outil » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MCP Academy, passe à CoddyKit PRO. Le cours MCP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Erreurs de protocole ou échecs d’outil » ?

Distinguez les défaillances du transport des erreurs de logique métier. Tu pratiques MCP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer MCP Academy ?

Aucune expérience préalable n'est requise. MCP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Erreurs de protocole ou échecs d’outil » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon MCP Academy ?

Oui. Chaque leçon MCP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Erreurs d’outil visibles par le modèle
  2. Erreurs de protocole ou échecs d’outil
  3. Valider les entrées avant d’agir
  4. Échouer en toute sécurité, sans jamais rester bloqué
← Retour à MCP Academy