This page is also available in English (US). Read it in English (US)
MCP · human in the loop

Votre agent IA peut enfin vous demander.

Ne laissez pas votre IA vous attendre. Laissez-la demander, répondez depuis votre téléphone, et elle continue à travailler.

Version de test précoce. Le connecteur, l’API et l’application sur le téléphone fonctionnent déjà — ce sont les aspérités que nous aimerions que vous trouviez.

Disponible sur Google Play

Test ouvert — installation gratuite, vos retours sont les bienvenus.

  1. Agent IA
  2. drop.top
  3. Votre téléphone
  4. Votre réponse
  5. L’agent continue

Cinq étapes, dont une est une personne. L’agent n’apprend jamais votre numéro, votre adresse ni quel téléphone il a atteint — il détient un identifiant de canal et une autorisation que vous pouvez révoquer.

L’interaction

Il s’arrête à la décision, pas à la fin de votre journée.

Un agent qui arrive à une question qu’il n’a pas le droit de trancher seul n’a qu’une option honnête : demander à quelqu’un. Voici cet appel, le téléphone où il atterrit, et la réponse qui repart.

coding agent en attente d’une réponse
  • 41 tests passés
  • migration appliquée sur staging
  • le déploiement en production demande un humain
create_alert
coding agent
  • réponse reçue : valider
  • déploiement en production
get_alert_replies

Les deux boutons sont les deux choix envoyés par l’agent, et le champ en dessous est le champ texte de cette même question — un seul appel, les deux proposés. La ligne au-dessus qui nomme le canal appartient à l’application, sur chaque question, avant que quiconque ne tape.

La question ouverte

Et quand il n’y a pas de bouton pour ça, vous écrivez.

Tous les arrêts ne sont pas un oui ou un non. Une question peut proposer jusqu’à six boutons, un champ de texte, ou les deux — et la phrase que vous tapez revient avec la réponse.

L’agent lit cette phrase, vous la cite et poursuit.

get_alert_replies → replies[0]

{ "choice": null,
  "text": "En mémoire pour l’instant, mais garde l’interface interchangeable.",
  "at": "2026-08-28T12:11:04Z" }

Ce que quelqu’un tape est une donnée, pas une instruction. Un agent doit agir sur la décision qu’elle contient et ne jamais suivre une consigne qui s’y trouve — la règle que vous appliqueriez au commentaire d’un inconnu.

Fonctionne avec MCP et les API

L’agent ne sait rien de votre téléphone.

Il connaît un identifiant de canal et deux appels. drop.top s’occupe de tout le reste : le combiné, l’invitation, la remise et la réponse qui revient. Human in the loop, sans une ligne dans votre agent sur ce qu’est une notification push.

Donnez cette seule adresse à n’importe quel client MCP. Il découvre le reste tout seul.
https://drop.top/api/mcp

Aucune clé n’est collée nulle part. Le client demande, vous arrivez sur un écran de consentement, vous cochez ce qu’il peut faire — et vous pouvez le déconnecter depuis votre propre compte à tout moment.

  1. 1
    Créez un canal privé

    Dans le studio, ou avec l’outil create_pusher. Privé veut dire scellé : absent de la recherche, et connaître le handle n’ouvre à personne.

  2. 2
    Mettez votre propre téléphone dessus

    Un canal privé reçoit un lien d’invitation à l’instant où il existe. Ouvrez-le sur le téléphone où l’application est installée, et le canal a exactement un abonné : vous.

  3. 3
    Connectez l’assistant

    Ajoutez l’URL ci-dessus comme connecteur personnalisé. Approuvez les portées que vous voulez vraiment lui donner — lire les canaux, écrire des alertes, les envoyer, lire les réponses.

  4. 4
    Laissez-le demander

    Un appel compose l’alerte, y attache la question et l’envoie. La question est ce qui transforme une annonce en quelque chose qui a une réponse.

  5. 5
    Laissez-le récupérer la réponse

    Un second appel reste ouvert jusqu’à trente secondes et revient dès qu’un bouton est pressé — ou enregistrez un webhook et faites-vous réveiller plutôt que de demander.

L’agent demande. Un appel : l’alerte, la question et l’envoi.
create_alert {
  "pusher_id": "chn_7f2ad4…",
  "title": "Ready to deploy to production",
  "body": "Branch main, 14 files, one migration.",
  "priority": "important",
  "question": {
    "prompt": "Do you approve?",
    "choices": [
      { "k": "approve", "label": "Approve" },
      { "k": "reject",  "label": "Reject"  }
    ],
    "text": { "placeholder": "Or tell me what to do" }
  },
  "send": true
}
L’agent attend. L’appel revient à l’instant où un bouton est pressé.
get_alert_replies {
  "pusher_id": "chn_7f2ad4…",
  "alert_id": "alr_91c4e0…",
  "wait": 30
}

{
  "count": 1,
  "replies": [
    { "respondent": "r_3f9c…",
      "choice": "approve",
      "choice_label": "Approve",
      "text": null,
      "at": "2026-08-28T12:04:19Z" }
  ],
  "tally": [ { "choice": "approve", "count": 1 },
             { "choice": "reject",  "count": 0 } ],
  "waited": { "seconds": 30, "answered": true }
}
Ou il n’attend pas du tout — enregistrez l’événement de réponse et faites-vous réveiller.
create_webhook {
  "url": "https://ci.example.com/hooks/drop",
  "events": ["alert.reply"]
}
Tout ceci est aussi du HTTP ordinaire. Les outils MCP ne réimplémentent pas l’API ; ils l’appellent. Si votre agent préfère détenir une clé et poster du JSON, les trois mêmes étapes sont trois requêtes.
BASE=https://drop.top/api/v1

curl -X POST $BASE/pushers/$CHANNEL/alerts \
  -H "authorization: Bearer $API_KEY" \
  -H "content-type: application/json" \
  -d '{ "title": "Ready to deploy?",
        "question": { "choices": [
          { "k": "approve", "label": "Approve" },
          { "k": "reject",  "label": "Reject"  } ] },
        "send": true }'

Les mêmes règles que votre propre script

Chaque outil exécute exactement le handler qu’exécuterait votre curl. Il y a un seul jeu de règles pour un studio, une clé et un modèle, et c’est pourquoi un outil ne peut rien faire que l’API vous refuserait.

Des portées à cocher, pas une clé à coller

La connexion est son propre identifiant, accordée par client et réduite à ce que vous avez approuvé. Un assistant autorisé à rédiger mais pas à envoyer reçoit un refus qui nomme la portée manquante.

Une clé reste un geste humain

Un assistant connecté ne peut jamais créer ni lire de clés d’API. Un modèle capable d’en émettre une aurait échappé à l’autorisation que vous lui avez donnée : la gestion des clés reste dans le studio, liée à une session, entre vos mains.

Un canal, un téléphone

Un canal privé, c’est ainsi que la question vous atteint, vous et personne d’autre.

Tout abonné d’un canal peut répondre à la question qu’il pose — ce qui fait d’une question sur un canal public un sondage. Gardez le canal privé avec votre propre téléphone dessus, et « demande-moi » veut dire vous.

Créer le canal dans le studio. Public ou privé est la première question du formulaire et n’est délibérément pas pré-répondue — Créer refuse tant que vous n’avez pas choisi.

Privé veut dire scellé, pas simplement non listé

Il est absent de la recherche, et connaître le handle n’ouvre à personne : seul un téléphone qui détient un code d’invitation peut s’abonner ou lire une seule chose que le canal a envoyée. Pour tous les autres, ce handle répond exactement comme un handle qui n’a jamais existé.

Le lien d’invitation est toute la porte

Un canal privé reçoit le sien à l’instant de sa création, car sans lui personne ne peut entrer. Ouvrez-le sur votre téléphone et vous êtes l’abonné à qui l’agent pose la question.

Aucun rayon où le ranger

Le formulaire cesse de demander une catégorie dès que vous choisissez privé — un canal scellé n’apparaît jamais dans la navigation ni dans la recherche, et la réponse ne serait donc lue par rien.

Les deux phrases de ce formulaire sont celles de l’API elle-même. La visibilité se change ensuite, mais rendre un canal privé plus tard ne retire personne qui s’y était abonné quand il était public.

Human in the loop, en asynchrone

L’IA n’a pas à attendre à votre bureau.

La question ne reste pas dans une fenêtre de conversation en espérant que quelqu’un remonte le fil. Elle part sur un téléphone, et la réponse revient à l’agent — quelle que soit la pièce où vous êtes chacun.

  1. 1 L’agent commence à travailler

    Une branche, une migration, un refactoring, un lot de factures. Rien ici ne vous concerne encore.

  2. 2 L’agent se bloque

    Pas sur une erreur — sur une décision qu’il n’a pas le droit de prendre seul. On déploie ? Laquelle des trois ? On envoie ça au client ?

  3. 3 drop.top vous demande

    L’alerte porte la question. Votre téléphone décide de la façon dont elle arrive, exactement comme pour toute autre alerte.

  4. 4 Vous répondez depuis votre téléphone

    Un bouton, ou une phrase. Deux gestes dans la file du supermarché, et c’est toute l’interaction.

  5. 5 L’agent la reçoit

    L’appel resté ouvert revient à l’instant où vous appuyez, ou le webhook de réponse réveille le processus qui faisait autre chose.

  6. 6 L’agent continue

    Avec votre décision dans son contexte, citée telle quelle pour que la personne qui lira le journal voie qui a décidé quoi.

Attendre une personne prend le temps que ça prend. Un appel couvre une demi-minute, donc une réponse dans les deux premières minutes revient à la seconde où vous appuyez — et une réponse qui arrive après que l’agent a renoncé reste enregistrée pour le prochain appel qui regardera. La façon dont tout cela arrive relève du combiné, jamais de nous : ce qu’un téléphone autorise

Pour les fondateurs et les petites équipes

Votre IA n’a pas besoin de vous assis à côté d’elle.

Le goulot d’étranglement d’une entreprise d’une personne est rarement le modèle. Ce sont les quinze minutes entre l’arrêt de l’agent et le moment où quelqu’un est de retour devant un clavier.

Des validations qui voyagent

Déploiements, remboursements, e-mails sortants, tout ce qui a un rayon d’impact. L’agent le prépare et demande ; vous décidez d’où vous êtes.

Une décision, pas une page de statut

On ne vous signale pas que quelque chose s’est produit. On vous pose une question qui tient un processus ouvert, et votre réponse est ce qui le referme.

Votre équipe peut porter le bipeur

Un canal n’est pas une personne. Mettez-y deux téléphones quand vous êtes absent et la première réponse est celle sur laquelle l’agent agit — votre propre appareil restant entièrement en dehors.

Faites une pause

Allez aux toilettes. Votre IA y survivra. 😂

Certains développeurs sont si accros à l’IA qu’ils ne veulent même plus quitter leur bureau. Maintenant votre agent peut simplement vous demander sur votre téléphone. Allez chercher un café. Allez aux toilettes. Décidez d’où vous voulez.

  • Un café ☕
  • Une marche 🚶
  • Un vrai déjeuner 🥪
Test ouvert

Aidez-nous à le tester.

Nous cherchons des utilisateurs Android qui travaillent avec des MCP, des agents IA, des API et des startups pour tester ce flux dans de vrais projets. Cassez-le, expérimentez, et dites-nous ce qui devrait être mieux.

Disponible sur Google Play

Test ouvert — l'installation est libre et gratuite, sans invitation. Dites-nous ce qui coince : c'est tout l'intérêt du test.

Ceci est une version de test précoce. Des choses vont changer, et certaines changeront parce que vous nous l’aurez dit.