Connecter un agent IA (MCP)
Skysize expose un point d'accès Model Context Protocol (MCP), afin que l'agent de code IA que vous utilisez déjà pour écrire vos modules Odoo puisse également lire ce qui s'est passé lors de leur déploiement.
Au lieu de copier une trace d'erreur depuis le tableau de bord vers votre éditeur, vous pouvez demander directement à votre agent : « pourquoi le dernier déploiement de ma branche staging a-t-il échoué ? ». L'agent récupère le log de build, le log d'exécution, les requêtes lentes ou les métriques du conteneur pour la branche exacte sur laquelle il travaille, et boucle le diagnostic sans que vous quittiez votre éditeur.
L'accès MCP est inclus dans tous les forfaits, y compris le Sandbox gratuit.
Ce que votre agent peut lire
Le point d'accès fournit sept outils en lecture seule :
| Outil | Ce qu'il retourne |
|---|---|
list_projects | Les projets auxquels vous avez accès : id, nom, version et édition d'Odoo, validité, état du forfait |
list_branches | Les branches d'un projet avec l'état du déploiement et le dernier résultat de build par branche |
list_builds | Les builds récents d'une branche, du plus récent au plus ancien (10 par défaut, 50 maximum) |
get_build_log | La sortie de build d'un déploiement (phases install, update, tests et requirements), sous forme d'extrait borné |
get_runtime_log | La fin du fichier odoo.log de l'instance en cours (200 lignes par défaut, 1000 maximum), avec un filtre textuel facultatif |
get_slow_queries | Les requêtes SQL les plus lentes issues de pg_stat_statements, normalisées, avec le nombre d'appels et les temps moyen et max |
get_branch_metrics | CPU, mémoire et latence HTTP du conteneur d'une branche, y compris les limites de ressources du type de branche |
Ce sont les mêmes logs et métriques que ceux affichés par le tableau de bord. Voir Voir les logs pour l'équivalent dans l'interface.
Créer un jeton d'accès
- Connectez-vous à app.skysize.io et ouvrez Compte > Agents IA.
- Donnez au jeton un nom qui indique où il est utilisé, par exemple
portable-claude-code. - Choisissez une expiration : 1 jour, 3 jours, 7 jours, une date personnalisée ou jamais. Sept jours est présélectionné. Une date personnalisée peut aller jusqu'à un an.
- Cliquez sur Créer le jeton.
Le jeton n'est affiché qu'une seule fois, juste après sa création. Copiez-le à ce moment-là, il ne pourra pas être réaffiché. Si vous le perdez, révoquez-le et créez-en un nouveau.
Un jeton d'accès agit en votre nom. Traitez-le comme un mot de passe : ne le committez jamais dans un dépôt, et préférez une expiration courte pour un jeton dont vous n'avez besoin que le temps d'une session de débogage. Vous pouvez révoquer n'importe quel jeton à tout moment depuis la même page.
Connecter Claude Code
La page des jetons affiche une commande prête à coller. Elle ressemble à ceci :
claude mcp add --transport http skysize https://app.skysize.io/mcp --header "Authorization: Bearer <votre-jeton>"
Remplacez <votre-jeton> par le jeton que vous venez de copier, puis exécutez la commande dans votre terminal. Vérifiez la connexion avec :
claude mcp list
Demandez à votre agent « liste mes projets Skysize » pour confirmer que les outils sont accessibles.
Connecter un autre client MCP
Tout client MCP qui gère le HTTP streamable et permet de définir un en-tête de requête fonctionne de la même façon, y compris Cursor et Windsurf. Configurez :
| Paramètre | Valeur |
|---|---|
| Transport | HTTP streamable |
| URL | https://app.skysize.io/mcp |
| En-tête | Authorization: Bearer <votre-jeton> |
Les connecteurs qui exigent OAuth, comme l'annuaire de connecteurs distants de claude.ai, ne sont pas encore utilisables. Le point d'accès s'authentifie aujourd'hui avec des jetons d'accès. Utilisez un client capable d'envoyer un en-tête.
Ce que l'agent peut et ne peut pas faire
Lecture seule. Aucun outil ne peut modifier quoi que ce soit. Votre agent ne peut pas relancer un build, redémarrer une instance, modifier des variables d'environnement, déclencher une sauvegarde ni supprimer un déploiement.
N'expose jamais de secrets. Les variables d'environnement sont exclues de la sortie de tous les outils, tout comme les domaines, les paramètres DNS et les données de facturation.
Vos permissions, exactement. Le jeton porte vos accès, rien de plus. Votre agent voit les projets que vous voyez et les branches que vous pouvez lire, en suivant les mêmes rôles de projet et accès de groupe que le tableau de bord. Voir Gérer les utilisateurs et les groupes. Si votre rôle est limité aux branches de développement, celui de votre agent l'est aussi.
Sortie bornée. Les logs reviennent sous forme d'extraits, pas de fichiers entiers. Un gros log de build est tronqué en conservant son début et sa fin, afin que les traces d'erreur situées à l'une ou l'autre extrémité soient préservées.
Limitation de débit. Chaque jeton est limité à 60 requêtes par minute. Les agents réessaient volontiers, et cette limite évite qu'une boucle sature la plateforme. Au-delà, les requêtes sont rejetées jusqu'à la minute suivante.
À savoir sur les données
- Les déploiements de développement sont supprimés 24 heures après leur build. Si votre agent indique qu'une branche de développement n'a aucun déploiement, c'est la raison. Un nouveau push la reconstruit.
- Les requêtes lentes nécessitent
pg_stat_statementssur l'hôte. Lorsqu'il n'est pas disponible, l'outil retourneavailable: falseavec la raison, plutôt qu'une liste vide. - Les métriques sont collectées toutes les 30 secondes et conservées 30 jours. La fenêtre d'analyse est de 60 minutes par défaut et peut aller jusqu'à 24 heures.
- Les logs de build reflètent la dernière exécution de chaque phase pour ce déploiement. Pour les builds plus anciens, utilisez le tableau de bord.
Dépannage
| Symptôme | Cause et solution |
|---|---|
401 unauthorized | Le jeton est incorrect, révoqué ou expiré. Vérifiez la colonne Expire sur la page des jetons, puis créez-en un nouveau |
| Le client rejette l'URL | L'URL doit être absolue et se terminer par /mcp. Un simple /mcp n'est pas accepté |
429 rate_limited | Plus de 60 requêtes en une minute sur un même jeton. Attendez, puis réessayez |
| Un projet est absent | Votre compte n'y a pas accès. Demandez à un administrateur du projet de vous attribuer un rôle |
Les requêtes lentes renvoient false | Le Postgres de l'hôte fonctionne sans pg_stat_statements. Contactez le support pour qu'il soit activé |
Exemples de requêtes
Une fois connecté, essayez :
- « Mon déploiement staging a échoué. Lis le log de build et dis-moi ce qui a cassé. »
- « Vérifie le log d'exécution de ma branche de production pour trouver des traces d'erreur dans les 200 dernières lignes. »
- « Quelles requêtes SQL sont les plus lentes sur ma base de production, et lesquels de mes modules les génèrent ? »
- « Mon conteneur de production a-t-il atteint sa limite mémoire au cours de la dernière heure ? »
- « Mon module échoue sur une bibliothèque Python manquante. Lis le log des requirements et dis-moi ce que pip a fait. »