Limites et erreurs
Les limites qui gardent les appels d'outils rapides et prévisibles, et ce que voit un client d'IA lorsqu'un appel échoue.
Limites par appel
| Élément | Limite |
|---|---|
Sortie des commandes (exec, shell_run) | 32 000 octets ; au-delà, la sortie est tronquée |
| Délai d'expiration des commandes | 60 secondes par défaut, 900 secondes au maximum ; utilisez job_start pour les travaux plus longs |
Machines par exec_many | 8, chacune avec la moitié de la limite de sortie |
read_file | 200 000 octets par appel par défaut, jusqu'à 4 000 000 ; reprenez à partir de next_offset |
write_file, copy_between_hosts | 4 000 000 octets ; utilisez transfer_start pour les fichiers plus volumineux |
transfer_start | Aucune limite de taille ; 2 à la fois par connexion, jusqu'à 10 000 fichiers chacun |
Sortie des tâches (job_output) | 64 000 octets par lecture |
| Sortie de terminal par appel | 20 000 caractères ; attente jusqu'à 600 secondes |
Corps HTTP de la redirection de ports (tunnel_http) | 32 Ko |
Sessions ouvertes
| Élément | Limite |
|---|---|
| Sessions shell | 4 par machine ; fermées après 30 minutes d'inactivité |
| Terminaux | 8 par connexion ; fermés après 30 minutes d'inactivité |
| Tunnels | Fermés au bout d'une heure |
| Planifications | 200 par compte |
| Partages web | 24 heures par défaut lorsqu'une IA en crée un, 30 jours au maximum |
| Approbations en attente | 20 par connexion |
Les appels qui durent plus de 10 secondes envoient des notifications de progression MCP toutes les 10 secondes lorsque le client les demande, afin que le client n'atteigne pas son délai d'expiration pendant qu'une commande, un transfert ou une approbation est en cours.
Limites des offres
Les offres déterminent combien de machines et de membres compte un compte, et quelles fonctionnalités ses politiques peuvent utiliser, comme les règles de fichiers par dossier, les règles de commande, les planifications, les partages web et les variables d'environnement secrètes. Voir les tarifs. Un appel qui nécessite une fonctionnalité non incluse dans l'offre échoue avec un message qui l'indique.
Erreurs
Un appel refusé ou en échec renvoie un résultat d'outil MCP avec isError: true et un message en langage clair qui indique à l'IA ce qui s'est passé et ce qu'elle doit faire ensuite. Les messages que vous verrez le plus souvent :
| Le message commence par | Signification |
|---|---|
token lacks fleet.… | La connexion a été approuvée sans la portée dont cet outil a besoin. Reconnectez-vous et approuvez cette portée. |
refused by this connection's command rules | Les règles de commande de la politique interdisent cette commande. |
high-risk operation | L'IA doit vous montrer la commande exacte, puis refaire l'appel avec confirm=true. |
refused by guardrail | Une commande que LetKite n'exécute jamais, comme l'effacement d'un disque. |
waiting for a person to approve this | Une approbation est en attente ; le message indique qui a été sollicité et jusqu'à quand. |
this connection's authorization is no longer valid | La connexion a été déconnectée. Reconnectez le client pour vous connecter à nouveau. |
Les erreurs de connexion utilisent les codes d'erreur OAuth standard (invalid_grant, invalid_client, access_denied, etc.). Un jeton manquant ou expiré reçoit une réponse HTTP 401 avec un en-tête WWW-Authenticate, et les clients se reconnectent ou rafraîchissent leur jeton d'eux-mêmes.