DevOps & monitoring

ChatGPT now uses standard webhooks for real-time MCP event delivery

OpenAI’s new MCP Events extension enables ChatGPT to react to external system changes via standardized webhooks, introducing specific security and lifecycle management requirements for developers.

Illustration of secure data streams connecting a server to an AI chat interface.
Illustration created for this article

OpenAI has integrated support for Model Context Protocol (MCP) Events into ChatGPT, allowing the AI assistant to subscribe to real-time updates from external systems. This implementation, detailed in a technical breakdown by Svix on October 21, 2026, relies entirely on standard webhooks for event delivery. Developers building MCP servers must now handle subscription lifecycles, cryptographic verification, and strict security protocols to ensure their applications can safely push data to ChatGPT.

What happened

The Model Context Protocol has evolved from a stateless request-response model to an event-driven architecture. MCP Events is an extension that allows an AI client, such as ChatGPT, to subscribe to specific occurrences in another system, such as a new comment on a document, a merged pull request, or a critical incident alert. When these events occur, the MCP server notifies the client, which can then trigger automated actions or tool calls. While the specification defines three delivery modes—polling, push streams, and webhooks—ChatGPT currently supports only webhook delivery.

To support this, an MCP server must declare its event capabilities and implement three new methods: events/list, events/subscribe, and events/unsubscribe. The events/list method describes available events, including their names, descriptions, and schemas for arguments and payloads. When a user instructs ChatGPT to monitor a specific resource, the client sends a subscription request containing a callback URL, a signing secret generated by the client, and a time-to-live value. The server must validate this request, verify the callback endpoint, and then begin posting signed events to the provided URL whenever the specified condition is met.

Key details

  • ChatGPT uses webhook delivery exclusively for MCP Events, requiring servers to POST events to a client-provided callback URL.
  • Subscriptions are temporary; they expire based on a ttlMs parameter and must be refreshed by the client before the deadline.
  • Each event payload includes an eventId for deduplication, a timestamp, data, and a cursor for resuming after gaps.
  • Verification requires a challenge-response handshake where the endpoint must sign a challenge with a key derived from the subscription secret.
  • Servers must implement SSRF protection by validating IP addresses at delivery time and never following redirects.
  • Event payloads should be minimal, containing only IDs and summaries, to reduce the risk of prompt injection attacks.

Background

Webhooks are a common pattern for server-to-server communication, where one application sends HTTP POST requests to another when specific events occur. Standard Webhooks is an open specification created in 2023 that defines how these requests should be signed and structured to ensure security and reliability. MCP Events builds directly on this foundation, using the same HMAC-SHA256 signature scheme and header structure. This alignment means that existing libraries and tools designed for Standard Webhooks can largely be reused for MCP integrations, reducing the engineering burden for developers.

The shift to event-driven interactions addresses limitations in polling-based systems, where clients must repeatedly ask for updates. By pushing events only when changes occur, systems reduce latency and unnecessary network traffic. However, this introduces complexity around reliability and security. Servers must guarantee delivery through retries, handle duplicate events gracefully, and ensure that malicious actors cannot register arbitrary callback URLs to launch attacks against third parties.

Why it matters

For teams running self-hosted software or building internal tools, supporting MCP Events opens new avenues for AI integration. Instead of relying on periodic checks or manual triggers, your systems can proactively notify ChatGPT about important changes. This enables more responsive and autonomous workflows, such as automatically updating documentation when code changes or alerting support teams when a high-priority ticket is created. However, it also requires rigorous attention to security and infrastructure stability.

The requirement for ephemeral subscriptions and client-generated secrets changes how webhook endpoints are managed. Unlike traditional webhooks that may persist indefinitely, MCP subscriptions must be tracked, refreshed, and cleaned up automatically. Failure to handle expiration correctly can lead to missed events or resource leaks. Additionally, the security implications of accepting external callback URLs demand robust validation logic to prevent server-side request forgery (SSRF) and prompt injection attacks, where malicious event data could manipulate the AI’s behavior.

What you can do

  • Implement the events/list, events/subscribe, and events/unsubscribe methods in your MCP server according to the draft specification.
  • Use Standard Webhooks libraries to handle signing and verification, ensuring compatibility with ChatGPT’s expected format.
  • Validate all callback URLs during subscription by performing a challenge-response handshake that requires the endpoint to prove ownership of the secret.
  • Enforce SSRF protections by resolving and validating IP addresses at the moment of event delivery, not just at subscription time.
  • Keep event payloads small and safe, sending only identifiers and summaries rather than full content to mitigate prompt injection risks.
  • Maintain an append-only event log to support cursors and ensure no events are lost during server restarts or subscription lapses.

More news

All news