Respecter les limites du client
Restez dans le périmètre autorisé par l’hôte.
Respecter les limites du client est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 4 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.
Knowing Isn't Enough
You can fetch roots and read capabilities, but the real job is honoring them. A trustworthy server stays inside the lines the host drew for it. 🚧
Stay Inside the Roots
Before touching any file, confirm its path sits within one of the client's roots. If it does not, refuse rather than reaching outside the allowed area.
Resolve Paths First
A sneaky path like ../../etc can escape a root. Always resolve to an absolute, normalized path before comparing it against your allowed folders.
from pathlib import Path
real = Path(p).resolve()Check Containment Safely
Test that the resolved path is relative to a root. The pathlib helper raises if it escapes, giving you a clean yes-or-no on whether to proceed.
real.relative_to(root_path)Don't Use Missing Features
If the client never declared a capability, do not call it. Respecting boundaries means trusting the negotiation, not poking at features that were never offered.
Degrade Gracefully
When roots are empty or unsupported, do not guess at the filesystem. Narrow what your tool does and tell the user why, instead of grabbing arbitrary paths.
Least Privilege by Default
Roots set an outer limit, but you can be stricter. Ask only for what a task truly needs, the spirit of least privilege, and leave the rest untouched.
Boundaries Aren't Just Folders
Respect goes beyond paths. Honor the host's pace and limits too, so you never flood it with calls or ignore a cancellation the user asked for.
Re-validate After Changes
When a roots list_changed notice arrives, re-check any cached paths. A folder allowed a minute ago may now be outside the user's current scope.
Fail Loud, Not Wide
If a request points outside the roots, return a clear error the model can read. A polite refusal beats silently doing something the user never sanctioned.
Why This Earns Trust
Servers that respect boundaries are the ones users keep installed. Good scoping turns a powerful tool into a safe one people are happy to grant access. 💛
Quick Check
One request targets a path outside every declared root. What should your server do?
Recap: Honoring the Limits
You resolve paths, confirm they sit inside a root, skip undeclared features, degrade gracefully, and refuse out-of-scope work. That is what makes a server trustworthy. ✅
Questions Fréquemment Posées
La leçon « Respecter les limites du client » est-elle gratuite ?
Oui — le texte complet de « Respecter les limites du client » 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 « Respecter les limites du client » ?
Restez dans le périmètre autorisé par l’hôte. 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 4 sur 4.
Combien de temps prend la leçon « Respecter les limites du client » ?
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
- Ce que les racines indiquent à un serveur
- Demander les racines du client
- Négocier les fonctionnalités
- Respecter les limites du client