Comprendre les racines dans MCPLes racines sont un concept dans MCP qui définissent les limites où les serveurs peuvent opérer. Elles fournissent un moyen pour les clients d'informer les serveurs sur les ressources pertinentes et leurs emplacements.Une racine est une URI qu'un client suggère à un serveur de cibler. Lorsqu'un client se connecte à un serveur, il déclare avec quelles racines le serveur doit travailler. Bien que principalement utilisées pour les chemins de système de fichiers, les racines peuvent être n'importe quelle URI valide, y compris les URL HTTP.Par exemple, les racines pourraient être :file:///home/user/projects/myapp
https://api.example.com/v1
Les racines servent plusieurs objectifs importants :1.
Orientation : Elles informent les serveurs sur les ressources et les emplacements pertinents.
2.
Clarté : Les racines indiquent clairement quelles ressources font partie de votre espace de travail.
3.
Organisation : Plusieurs racines vous permettent de travailler avec différentes ressources simultanément.
Lorsqu'un client prend en charge les racines, il :1.
Déclare la capacité roots
lors de la connexion.
2.
Fournit une liste de racines suggérées au serveur.
3.
Notifie le serveur lorsque les racines changent (si pris en charge).
Bien que les racines soient informatives et non strictement contraignantes, les serveurs doivent :1.
Respecter les racines fournies.
2.
Utiliser les URI de racine pour localiser et accéder aux ressources.
3.
Prioriser les opérations dans les limites de la racine.
Les racines sont couramment utilisées pour définir :Les répertoires de projet.
Les emplacements de référentiel.
Les points de terminaison d'API.
Les emplacements de configuration.
Les limites de ressources.
Lorsque vous travaillez avec des racines :1.
Ne suggérez que les ressources nécessaires.
2.
Utilisez des noms clairs et descriptifs pour les racines.
3.
Surveillez l'accessibilité des racines.
4.
Gérez gracieusement les changements de racine.
Voici comment un client MCP typique pourrait exposer les racines :{
"roots": [
{
"uri": "file:///home/user/projects/frontend",
"name": "Frontend Repository"
},
{
"uri": "https://api.example.com/v1",
"name": "API Endpoint"
}
]
}
Cette configuration suggère au serveur de se concentrer à la fois sur un référentiel local et un point de terminaison d'API tout en les gardant logiquement séparés. Modified at 2025-03-13 05:38:32