Les outils MCP
Votre agent agit sur while par 82 outils MCP, avec vos droits et jamais plus. Les gestes sensibles attendent l’accord d’une personne.
Mis à jour le 9 novembre 2026.
Brancher le serveur
Le serveur MCP de while est à https://app.while.sh/mcp. Votre agent s’y connecte par OAuth : au premier appel, une page s’ouvre dans votre navigateur, et vous autorisez while.
Sans compte, le serveur d’essai https://app.while.sh/essai donne 19 de ces outils, sans connexion, pour mettre une appli en ligne à l’essai.
Ce qu’un outil peut faire
Un outil en lecture seule ne change rien. Les autres agissent avec vos droits, jamais plus, et un jeton peut les borner à un projet, à la lecture ou à des environnements. Un geste sensible, comme détruire une base de production ou rendre une appli publique, attend la validation d’une personne : l’outil donne alors le lien de la demande. Quand vous autorisez votre agent, vous choisissez son niveau : Lire, Lire et agir, ou Administrer. Au niveau Lire et agir, un geste d’administration que vous pouvez faire vous-même, comme inviter un membre ou créer un jeton, attend votre confirmation : une page de while dit le geste, pour qui et sur quoi, et vous confirmez d’un clic.
Les groupes d’outils
Aux niveaux Lire et Lire et agir, votre agent reçoit d’abord 40 outils, ce qui tient dans les éditeurs qui limitent leur nombre, comme Cursor ; au niveau Administrer, il les a tous d’emblée. Pour un geste qui n’y est pas, il charge un groupe avec load_tools : alerts (alertes, incidents, canaux), feedback_and_docs (remarques de page, retours, recherche dans la doc), environments_and_storage (domaines, liens d’accès, applis internes, dépôt git, buckets, détruire ou redémarrer un environnement) ou administer (membres, groupes, rôles, accès, jetons, comptes de service, consommation, projets, organisation). Le groupe reste à l’agent d’une session à l’autre, et vous le retirez dans Mes agents. Claude Code et VS Code voient ses outils tout de suite ; Cursor, Claude et ChatGPT après une reconnexion de while.
Mettre en ligne
Lire le catalogue de while
get_catalog ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : format, language, block.
Lire le code du projet
read_source ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : project, environment, version, format, archive, path, start.
Envoyer le code depuis un terminal
upload_source agit sur vos projets. Il est aussi sur le serveur d’essai.
Paramètres : project, environment, terminal.
Écrire des fichiers du projet
write_files agit sur vos projets. Il est aussi sur le serveur d’essai.
Paramètres : project, files (obligatoire), delete, message.
Lier un dépôt git
link_git_repo agit sur vos projets. Il est dans le groupe environments_and_storage.
Paramètres : project, forge, repo, token, base_url, unlink.
Calculer un plan de mise en ligne
plan_deploy ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : project, environment, plan_id, intent, from_state, timeout_seconds.
Mettre une appli en ligne
deploy_app agit sur vos projets. Il est aussi sur le serveur d’essai.
Paramètres : project, environment, source_archive_base64, release, redeploy, image, digest, intent, confirm_overwrite, wait, timeout_seconds.
Appliquer un plan
apply_plan agit sur vos projets.
Paramètres : plan_id (obligatoire), project, wait, timeout_seconds, discard.
Revenir à une version précédente
rollback_app agit sur vos projets.
Paramètres : project, environment, to, wait, approval_id.
Lire l’état d’une appli
get_app_status ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : project, environment, include, since, probe.
Lire les validations en attente
list_approvals ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : id.
Configurer un environnement
Lire un environnement
get_environment ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : view, project, environment, database.
Poser des variables et des secrets
set_env agit sur vos projets. Il est aussi sur le serveur d’essai.
Paramètres : project, environment, values, secret, file, build, delete, key, value.
Créer une prévisualisation
create_preview agit sur vos projets.
Paramètres : project, name, branch, from, copy_database, ttl_hours, wait.
Détruire un environnement
destroy_environment agit sur vos projets. Il est dans le groupe environments_and_storage.
Paramètres : project, environment (obligatoire), reason, approval_id.
Redémarrer un service
restart_app agit sur vos projets. Il est dans le groupe environments_and_storage.
Paramètres : project, environment, service (obligatoire).
Vérifier un domaine
verify_domain agit sur vos projets. Il est dans le groupe environments_and_storage.
Paramètres : project, environment, domain (obligatoire).
Demander un lien d’accès
request_access_link agit sur vos projets. Il est dans le groupe environments_and_storage.
Paramètres : project, environment, name, days.
Les données
Lire une base en SQL
query_database ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : format, project, environment, database, sql (obligatoire), limit, max_bytes, timeout_seconds.
Sauvegarder une base
backup_database agit sur vos projets.
Paramètres : project, environment, database, test_restore, wait.
Restaurer une base
restore_backup agit sur vos projets.
Paramètres : project, environment, database, backup_id, instant, approval_id, wait, reason.
Lire un bucket
read_bucket ne fait que lire. Il est dans le groupe environments_and_storage.
Paramètres : project, environment, bucket (obligatoire), key, minutes, download_link, prefix, next.
Créer un lien d’envoi vers un bucket
create_upload_link agit sur vos projets. Il est dans le groupe environments_and_storage.
Paramètres : project, environment, bucket (obligatoire), key (obligatoire), minutes.
Changer la clé S3 d’un environnement
rotate_s3_key agit sur vos projets. Il est dans le groupe environments_and_storage.
Paramètres : project, environment, immediate.
Les tâches planifiées
Lister les tâches planifiées
list_tasks ne fait que lire.
Paramètres : project, environment, task, limit.
Lancer une tâche
run_task agit sur vos projets.
Paramètres : project, environment, task (obligatoire), args, env, catch_up, wait, timeout_seconds, approval_id.
Observer
Lire les journaux
get_logs ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : project, environment, build_id, query, limit.
Comprendre ce qui se passe
observe_app ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : view, project, environment, query, range, trace_id, service, operation, since_minutes, min_duration, errors, limit, since, fingerprint, until, families, version, window_minutes, database, question.
Lire les alertes
list_alerts ne fait que lire. Il est dans le groupe alerts.
Paramètres : view, project, status_page, organization.
Poser une règle d’alerte
set_alert_rule agit sur vos projets. Il est dans le groupe alerts.
Paramètres : project, name, source, condition, window_minutes, severity, message, channels, environment, active, delete, default, mute, public_page.
Prendre en charge un incident
acknowledge_incident agit sur vos projets. Il est dans le groupe alerts.
Paramètres : project, incident (obligatoire), reason.
Créer un canal d’alerte
create_alert_channel agit sur vos projets. Il est dans le groupe alerts.
Paramètres : organization, type (obligatoire), name (obligatoire), address, url, min_severity.
Supprimer un canal d’alerte
delete_alert_channel agit sur vos projets. Il est dans le groupe alerts.
Paramètres : organization, channel (obligatoire).
Essayer un canal d’alerte
test_alert_channel agit sur vos projets. Il est dans le groupe alerts.
Paramètres : organization, channel (obligatoire).
Les connexions
Lire les connexions
list_connections ne fait que lire.
Paramètres : view, organization, connection, since, until, refusal.
Déclarer une connexion
declare_connection agit sur vos projets.
Paramètres : organization, name (obligatoire), model, domain, secondary_domains, authentication, rules, post_read, learning_days, rate_per_minute, owner, label, project, apps, direction, update.
Régler une connexion
update_connection agit sur vos projets.
Paramètres : organization, connection, method, pattern, approve_each_call, read, reason, lock, caller, window, calls, remove_limit.
Demander ou régler une liaison fédérée
set_connection_binding agit sur vos projets.
Paramètres : organization, connection (obligatoire), binding, reason, resume, approve_production_deploys, project, caller.
Retirer une liaison
remove_connection_binding agit sur vos projets.
Paramètres : organization, connection (obligatoire), binding (obligatoire), reason.
Appeler l’API d’une connexion
call_connection agit sur vos projets.
Paramètres : organization, connection (obligatoire), method, path, body, type, call.
Les projets
Lire les projets
get_project ne fait que lire. Il est aussi sur le serveur d’essai.
Paramètres : project, include.
Créer un projet
create_project agit sur vos projets. Il est aussi sur le serveur d’essai.
Paramètres : project (obligatoire), name, budget_eur, organization.
Régler un projet
update_project_settings agit sur vos projets. Il est dans le groupe administer.
Paramètres : project, budget_eur, owner, add_webhook, types, remove_webhook.
Supprimer un projet
delete_project agit sur vos projets. Il est dans le groupe administer.
Paramètres : project (obligatoire), confirm (obligatoire), approval_id.
Lire le journal de l’organisation
get_activity_log ne fait que lire.
Paramètres : organization, tab, person, via, family, project, resource, who, assignment, since, until, limit, cursor, verify.
Les accès et les droits
Expliquer les droits
explain_access ne fait que lire.
Paramètres : organization, project, scope, who, permission, activity.
Annuler une demande d’accès
cancel_access_request agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, id (obligatoire), reason.
Revoir les accès
review_access ne fait que lire. Il est dans le groupe administer.
Paramètres : view, organization, role, request, project, scope, unused_days.
Donner un rôle
grant_role agit sur vos projets.
Paramètres : organization, who (obligatoire), role (obligatoire), scope (obligatoire), until, days, reason (obligatoire).
Retirer un rôle
revoke_role agit sur vos projets.
Paramètres : organization, assignment (obligatoire), reason (obligatoire).
Garder un accès revu
keep_access agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, assignment (obligatoire), reason.
Définir un rôle
define_role agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, role (obligatoire), name, description, permissions, reason.
Supprimer un rôle
delete_role agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, role (obligatoire), reason.
Lire les entrées par la connexion d’entreprise
list_sign_ins ne fait que lire. Il est dans le groupe administer.
Paramètres : organization, project.
Demander un accès
request_access agit sur vos projets.
Paramètres : organization, role, permission, scope, days, reason (obligatoire), renew, for.
L’organisation
Lire les organisations
get_organization ne fait que lire.
Paramètres : view, organization.
Lire la consommation
get_usage ne fait que lire. Il est dans le groupe administer.
Paramètres : view, project, organization, period.
Inviter une personne
invite_member agit sur vos projets.
Paramètres : organization, email (obligatoire), role, reason, resend.
Changer le rôle ou les groupes d’un membre
update_member agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, email (obligatoire), role, reason, add_groups, remove_groups.
Retirer un membre
remove_member agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, email (obligatoire).
Créer un groupe
create_group agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, group (obligatoire), sso.
Supprimer un groupe
delete_group agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, group (obligatoire).
Régler l’organisation
update_organization_settings agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, retention_months, confirm, call_retention_days, language, rules, budget_eur, approvals, no_budget, add_approvers, subject_type, resource_type, resource, remove_approvers, group, sso_group.
Les jetons et les comptes de service
Lister les jetons et les comptes de service
list_tokens ne fait que lire. Il est dans le groupe administer.
Paramètres : view, organization, account, scope, project, environment.
Créer un jeton d’API
create_token agit sur vos projets.
Paramètres : scope, project, organization, name, permissions, environments, days.
Raccourcir la vie d’un jeton
update_token_expiry agit sur vos projets. Il est dans le groupe administer.
Paramètres : id (obligatoire), days (obligatoire).
Révoquer un jeton
revoke_token agit sur vos projets. Il est dans le groupe administer.
Paramètres : app_session, token.
Créer un compte de service
create_service_account agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, name (obligatoire), description, project, reason (obligatoire).
Activer ou désactiver un compte de service
update_service_account agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, account (obligatoire), reason (obligatoire), enabled (obligatoire).
Supprimer un compte de service
delete_service_account agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, account (obligatoire), reason (obligatoire).
Créer une clé de compte de service
create_service_account_key agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, account (obligatoire), replace, name, until, days, overlap_hours.
Révoquer une clé de compte de service
revoke_service_account_key agit sur vos projets. Il est dans le groupe administer.
Paramètres : organization, account (obligatoire), key_id (obligatoire), reason (obligatoire).
Obtenir un identifiant git d’une heure
get_git_credentials agit sur vos projets.
Paramètres : project.
Ouvrir une appli interne
open_internal_app agit sur vos projets. Il est dans le groupe environments_and_storage.
Paramètres : project, service, environment, address, read_only, approval_id.
Les retours, la doc et les groupes d’outils
Envoyer un retour à l’équipe while
send_feedback agit sur vos projets. Il est aussi sur le serveur d’essai.
Paramètres : kind (obligatoire), message (obligatoire), project, organization, tool, route, reference, service, usage, block, volume, authentication, documentation.
Lire les retours et leurs réponses
list_feedback ne fait que lire. Il est dans le groupe feedback_and_docs. Il est aussi sur le serveur d’essai.
Paramètres : organization.
Accuser réception d’une annonce
acknowledge_announcement agit sur vos projets.
Paramètres : id (obligatoire).
Lire les remarques des pages
list_page_notes ne fait que lire. Il est dans le groupe feedback_and_docs.
Paramètres : project, state, limit.
Marquer une remarque
update_page_note agit sur vos projets. Il est dans le groupe feedback_and_docs.
Paramètres : project, id (obligatoire), state (obligatoire), version, note.
Ouvrir les remarques en production
update_page_notes_settings agit sur vos projets. Il est dans le groupe feedback_and_docs.
Paramètres : project, production_open (obligatoire), environment.
Chercher dans la doc de while
search_docs ne fait que lire. Il est dans le groupe feedback_and_docs. Il est aussi sur le serveur d’essai.
Paramètres : query (obligatoire), lang.
Charger un groupe d’outils
load_tools change la liste des outils de votre agent.
Paramètres : group (obligatoire).