---
title: "Les outils MCP de while.sh : ce que votre agent peut faire"
url: https://while.sh/fr/docs/reference/outils-mcp/
updated: 2026-11-09
---

# 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.

## 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).

## Prochaines étapes

- [Brancher Claude Code](/fr/guides/brancher-claude-code/)
- [L'API REST, opération par opération](/fr/docs/reference/api/)
- [Comment while marche](/fr/docs/demarrer/comment-while-marche/)
