Outils idempotents et conscients des effets de bord
Rendez les appels répétés sûrs et prévisibles.
Outils idempotents et conscients des effets de bord est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 3 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.
Models May Call Twice
An AI client can retry a tool after a timeout or a dropped link. Your tool might run twice for what the user meant once.
What Idempotent Means
A tool is idempotent when calling it again with the same input changes nothing further. The second call is safely a no-op.
Reads Are Naturally Safe
Pure read tools, like fetching a record, are already idempotent. Repeating them just returns the same answer with no harm done.
@mcp.tool()
def get_user(id: int) -> dict:
return db.find(id)Writes Need Care
A tool that creates or charges money is dangerous to repeat. A blind retry could add a duplicate row or double a payment.
Use a Client-Supplied Key
Ask the caller for an idempotency key. If you have already processed that key, return the stored result instead of acting again.
if key in seen:
return seen[key]
seen[key] = do_work()Prefer Upsert Over Insert
An upsert writes or updates by a stable id, so running it twice leaves one row, not two. It folds retries into a single state.
INSERT ... ON CONFLICT (id)
DO UPDATE SET ...Declare Side Effects Clearly
Say in the tool description whether it mutates data. The model decides more wisely when it knows a call is destructive.
Separate Read and Write Tools
Keep a query tool and a mutation tool distinct rather than one that sometimes writes. Clear boundaries cut accidental changes.
Make Results Deterministic
Where you can, return the same output for the same input. Predictable results help clients cache and reason about your tool.
Check Before You Act
Before a write, confirm the target's current state. If the change is already applied, report success without redoing it.
if order.status == "shipped":
return "already shipped"Wrap Multi-Step Work in a Transaction
If a tool touches several rows, run them in one transaction. A retry then either fully applies or fully rolls back, never half.
Quick Check
Why does idempotency matter for an MCP tool that creates records?
Recap: Safe Repeats
Make writes idempotent with keys or upserts, declare side effects, split reads from writes, and use transactions. Next: versioning. ♻️
Questions Fréquemment Posées
La leçon « Outils idempotents et conscients des effets de bord » est-elle gratuite ?
Oui — le texte complet de « Outils idempotents et conscients des effets de bord » 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 « Outils idempotents et conscients des effets de bord » ?
Rendez les appels répétés sûrs et prévisibles. 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 3 sur 4.
Combien de temps prend la leçon « Outils idempotents et conscients des effets de bord » ?
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
- Architecture serveur en couches
- Configuration et secrets via l’environnement
- Outils idempotents et conscients des effets de bord
- Gestion des versions des outils et des schémas