ChatGPT ahora utiliza webhooks estándar para la entrega de eventos MCP en tiempo real
La nueva extensión MCP Events de OpenAI permite que ChatGPT reaccione a cambios en sistemas externos mediante webhooks estandarizados, introduciendo requisitos específicos de seguridad y gestión del ciclo de vida para los desarrolladores.
Traducido automáticamente del original en inglés.
OpenAI ha integrado soporte para Model Context Protocol (MCP) Events en ChatGPT, permitiendo que el asistente de IA se suscriba a actualizaciones en tiempo real desde sistemas externos. Esta implementación, detallada en un análisis técnico de Svix el 21 de octubre de 2026, depende por completo de webhooks estándar para la entrega de eventos. Los desarrolladores que construyan servidores MCP deben gestionar ahora los ciclos de vida de las suscripciones, la verificación criptográfica y estrictos protocolos de seguridad para garantizar que sus aplicaciones puedan enviar datos a ChatGPT de forma segura.
Qué ocurrió
El Model Context Protocol ha evolucionado de un modelo sin estado de solicitud-respuesta a una arquitectura dirigida por eventos. MCP Events es una extensión que permite a un cliente de IA, como ChatGPT, suscribirse a ocurrencias específicas en otro sistema, como un nuevo comentario en un documento, una pull request fusionada o una alerta de incidente crítico. Cuando estos eventos ocurren, el servidor MCP notifica al cliente, que puede entonces desencadenar acciones automatizadas o llamadas a herramientas. Aunque la especificación define tres modos de entrega—sondeo (polling), streams push y webhooks—ChatGPT actualmente solo soporta la entrega vía webhook.
Para soportar esto, un servidor MCP debe declarar sus capacidades de eventos e implementar tres nuevos métodos: events/list, events/subscribe y events/unsubscribe. El método events/list describe los eventos disponibles, incluyendo sus nombres, descripciones y esquemas para argumentos y cargas útiles. Cuando un usuario instruye a ChatGPT para monitorear un recurso específico, el cliente envía una solicitud de suscripción que contiene una URL de callback, un secreto de firma generado por el cliente y un valor de tiempo de vida (TTL). El servidor debe validar esta solicitud, verificar el endpoint de callback y luego comenzar a publicar eventos firmados en la URL proporcionada cada vez que se cumpla la condición especificada.
Detalles clave
- ChatGPT utiliza exclusivamente la entrega vía webhook para MCP Events, requiriendo que los servidores hagan POST de eventos a una URL de callback proporcionada por el cliente.
- Las suscripciones son temporales; expiran basándose en un parámetro
ttlMsy deben ser renovadas por el cliente antes de la fecha límite. - Cada carga útil de evento incluye un
eventIdpara deduplicación, una marca de tiempo, datos y un cursor para reanudar después de interrupciones. - La verificación requiere un handshake de desafío-respuesta donde el endpoint debe firmar un desafío con una clave derivada del secreto de suscripción.
- Los servidores deben implementar protección SSRF validando direcciones IP en el momento de la entrega y nunca siguiendo redirecciones.
- Las cargas útiles de eventos deben ser mínimas, conteniendo solo IDs y resúmenes, para reducir el riesgo de ataques de inyección de prompts.
Antecedentes
Los webhooks son un patrón común para la comunicación servidor-servidor, donde una aplicación envía solicitudes HTTP POST a otra cuando ocurren eventos específicos. Standard Webhooks es una especificación abierta creada en 2023 que define cómo estas solicitudes deben ser firmadas y estructuradas para garantizar seguridad y fiabilidad. MCP Events se construye directamente sobre esta base, utilizando el mismo esquema de firma HMAC-SHA256 y estructura de cabeceras. Esta alineación significa que las bibliotecas y herramientas existentes diseñadas para Standard Webhooks pueden ser reutilizadas en gran medida para integraciones MCP, reduciendo la carga de ingeniería para los desarrolladores.
El cambio hacia interacciones dirigidas por eventos aborda las limitaciones de los sistemas basados en sondeo, donde los clientes deben preguntar repetidamente por actualizaciones. Al enviar eventos solo cuando ocurren cambios, los sistemas reducen la latencia y el tráfico de red innecesario. Sin embargo, esto introduce complejidad alrededor de la fiabilidad y la seguridad. Los servidores deben garantizar la entrega mediante reintentos, manejar eventos duplicados con elegancia y asegurar que los actores maliciosos no puedan registrar URLs de callback arbitrarias para lanzar ataques contra terceros.
Por qué importa
Para equipos que ejecutan software autoalojado o construyen herramientas internas, soportar MCP Events abre nuevas vías para la integración de IA. En lugar de depender de chequeos periódicos o disparadores manuales, sus sistemas pueden notificar proactivamente a ChatGPT sobre cambios importantes. Esto habilita flujos de trabajo más receptivos y autónomos, como actualizar automáticamente la documentación cuando cambian el código o alertar a los equipos de soporte cuando se crea un ticket de alta prioridad. Sin embargo, también requiere una atención rigurosa a la seguridad y la estabilidad de la infraestructura.
El requisito de suscripciones efímeras y secretos generados por el cliente cambia cómo se gestionan los endpoints de webhook. A diferencia de los webhooks tradicionales que pueden persistir indefinidamente, las suscripciones MCP deben ser rastreadas, renovadas y limpiadas automáticamente. No manejar correctamente la expiración puede llevar a eventos perdidos o fugas de recursos. Además, las implicaciones de seguridad de aceptar URLs de callback externas demandan lógica de validación robusta para prevenir la falsificación de solicitudes del lado del servidor (SSRF) y ataques de inyección de prompts, donde datos de eventos maliciosos podrían manipular el comportamiento de la IA.
Qué puedes hacer
- Implementa los métodos
events/list,events/subscribeyevents/unsubscribeen tu servidor MCP según la especificación en borrador. - Usa bibliotecas de Standard Webhooks para manejar la firma y verificación, asegurando compatibilidad con el formato esperado por ChatGPT.
- Valida todas las URLs de callback durante la suscripción realizando un handshake de desafío-respuesta que requiera que el endpoint demuestre la propiedad del secreto.
- Aplica protecciones SSRF resolviendo y validando direcciones IP en el momento de la entrega del evento, no solo en el momento de la suscripción.
- Mantén las cargas útiles de eventos pequeñas y seguras, enviando solo identificadores y resúmenes en lugar de contenido completo para mitigar riesgos de inyección de prompts.
- Mantén un registro de eventos solo de adición (append-only) para soportar cursores y asegurar que no se pierdan eventos durante reinicios del servidor o lapsos de suscripción.



