Las mismas reglas que tu propio script
Cada herramienta ejecuta exactamente el mismo handler que tu curl. Hay un único conjunto de reglas para un estudio, una clave y un modelo, y por eso una herramienta no puede hacer nada que la API te negaría.
No hagas que tu IA te espere. Deja que pregunte, responde desde el teléfono y que siga trabajando.
Versión de prueba temprana. El conector, la API y la app del teléfono ya funcionan hoy — las asperezas son justo lo que queremos que encuentres.
Prueba abierta — instalación gratuita, tus comentarios son bienvenidos.
Cinco saltos, y uno de ellos es una persona. El agente nunca conoce tu número, tu dirección ni qué teléfono alcanzó — sostiene un id de canal y un permiso que puedes revocar.
Un agente que llega a una pregunta que no puede responder solo tiene una opción honesta: preguntarle a alguien. Esta es esa llamada, el teléfono donde aterriza y la respuesta que vuelve.
create_alert
get_alert_replies
Los dos botones son las dos opciones que envió el agente, y el campo de debajo es el cuadro de texto de esa misma pregunta — una llamada, ambas ofrecidas. La línea de arriba que nombra el canal es de la propia app, en cada pregunta, antes de que nadie escriba.
No toda parada es un sí o un no. Una pregunta puede ofrecer hasta seis botones, un cuadro de texto, o ambos — y la frase que escribes vuelve con la respuesta.
El agente lee esa frase, te la cita de vuelta y sigue adelante.
get_alert_replies → replies[0]
{ "choice": null,
"text": "En proceso por ahora, pero deja la interfaz intercambiable.",
"at": "2026-08-28T12:11:04Z" }
Lo que alguien escribe son datos, no instrucciones. Un agente debe actuar según la decisión que contiene y nunca seguir una orden que aparezca dentro — la misma regla que aplicarías al comentario de un desconocido.
Conoce un id de canal y dos llamadas. drop.top se encarga de todo lo demás: el dispositivo, la invitación, la entrega y la respuesta que vuelve. Human in the loop, sin una sola línea en tu agente sobre qué es una notificación push.
https://drop.top/api/mcp
No se pega ninguna clave en ninguna parte. El cliente lo solicita, tú llegas a una pantalla de consentimiento, marcas lo que puede hacer — y puedes desconectarlo desde tu propia cuenta cuando quieras.
En el estudio, o con la herramienta create_pusher. Privado significa sellado: ausente de la búsqueda, y conocer el handle no deja entrar a nadie.
Un canal privado recibe un enlace de invitación en el momento en que existe. Ábrelo en el teléfono con la app instalada y el canal tendrá exactamente un suscriptor: tú.
Añade la URL de arriba como conector personalizado. Aprueba los permisos que de verdad quieras darle — leer canales, escribir alertas, enviarlas, leer respuestas.
Una llamada compone la alerta, le adjunta la pregunta y la envía. La pregunta es lo que convierte un aviso en algo que tiene respuesta.
Una segunda llamada se mantiene abierta hasta treinta segundos y vuelve en cuanto se pulsa un botón — o registra un webhook y que te despierten en lugar de preguntar.
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
}
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 }
}
create_webhook {
"url": "https://ci.example.com/hooks/drop",
"events": ["alert.reply"]
}
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 }'
Cada herramienta ejecuta exactamente el mismo handler que tu curl. Hay un único conjunto de reglas para un estudio, una clave y un modelo, y por eso una herramienta no puede hacer nada que la API te negaría.
La conexión es su propia credencial, concedida por cliente y reducida a lo que aprobaste. Un asistente conectado para redactar y sin permiso de envío recibe un rechazo que nombra el permiso que falta.
Un asistente conectado nunca puede crear ni leer claves de API. Un modelo capaz de emitir una habría escapado del permiso que le diste, así que la gestión de claves se queda en el estudio, atada a una sesión, en tus manos.
Cualquier suscriptor de un canal puede responder la pregunta que hace — lo que convierte una pregunta en un canal público en una encuesta. Mantén el canal privado con tu propio teléfono dentro, y «pregúntame» significa tú.
Está ausente de la búsqueda, y conocer el handle no deja entrar a nadie: solo un teléfono con un código de invitación puede suscribirse o leer una sola cosa que el canal haya enviado. Para cualquier otro, ese handle responde exactamente igual que uno que nunca existió.
Un canal privado recibe el primero en el momento en que se crea, porque sin él nadie puede entrar. Ábrelo en tu teléfono y serás el suscriptor al que el agente pregunta.
El formulario deja de pedir una categoría en cuanto eliges privado — un canal sellado nunca aparece al navegar ni al buscar, así que esa respuesta no la leería nada.
Ambas frases de ese formulario son las de la propia API. La visibilidad se puede cambiar después, pero hacer privado un canal más tarde no elimina a nadie que ya se suscribiera mientras era público.
La pregunta no se queda en una ventana de chat esperando que alguien vuelva a subir. Va a un teléfono, y la respuesta vuelve al agente — esté cada uno en la habitación que esté.
Una rama, una migración, una refactorización, un lote de facturas. Nada de esto te involucra todavía.
No en un error, sino en una decisión que no puede tomar solo. ¿Desplegamos? ¿Cuál de las tres? ¿Le mandamos esto al cliente?
La alerta lleva la pregunta. Tu teléfono decide con cuánta fuerza llega, igual que con cualquier otra alerta.
Un botón, o una frase. Dos toques en la cola del supermercado son toda la interacción.
La llamada abierta vuelve en el instante en que pulsas, o el webhook de respuesta despierta al proceso que estaba haciendo otra cosa.
Con tu decisión en su contexto, citada de vuelta para que quien lea el registro vea quién decidió qué.
Esperar a una persona tarda lo que tarda. Una llamada cubre medio minuto, así que una respuesta en los dos primeros minutos vuelve en el segundo en que pulsas — y una respuesta que llega después de que el agente se rindiera queda registrada igualmente para la siguiente llamada que mire. Con cuánta fuerza llega todo esto lo decide el dispositivo, nunca nosotros: qué permite un teléfono
El cuello de botella de una empresa de una persona rara vez es el modelo. Son los quince minutos entre que el agente se detiene y alguien vuelve a estar delante de un teclado.
Despliegues, reembolsos, correo saliente, cualquier cosa con radio de impacto. El agente lo prepara y pregunta; tú decides desde donde estés.
No te avisan de que ha pasado algo. Te hacen una pregunta que mantiene un proceso abierto, y tu respuesta es lo que lo cierra.
Un canal no es una persona. Pon dos teléfonos cuando estés fuera y la primera respuesta será sobre la que actúe el agente — con tu propio dispositivo completamente al margen.
Algunos desarrolladores están tan enganchados a la IA que ni siquiera quieren levantarse del escritorio. Ahora tu agente puede simplemente preguntarte en el teléfono. Ve a por un café. Ve al baño. Decide desde donde quieras.
Buscamos usuarios de Android que trabajen con MCP, agentes de IA, APIs y startups para probar este flujo en proyectos reales. Rómpelo, experimenta con él y cuéntanos qué debería estar mejor.
Prueba abierta — cualquiera puede instalarla gratis, sin invitación. Cuéntanos qué falla: para eso está la prueba.
Esta es una versión de prueba temprana. Las cosas cambiarán, y algunas cambiarán porque tú nos lo dijiste.