explainx.ai0k
TrendingAI News TodayPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

community

Join the community

learn

mind: share how you thinkpathways — start freeworkshopsbootcampscoursescompare Explainxcertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsmdx readeragentsllmsdesignsdictionarypeopleagi trackerfelony benchranks

company

aboutvisionmissionteaminstructorsteach on explainxpartnershipscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

explainx.ai

On this page

  • TL;DR: MCP Events in one table
  • Why do events matter for agents?
  • How does MCP Events work, step by step?
  • What are the security traps?
  • What people are asking
  • A build checklist
  • Honest limitations
  • Related reading
← Back to blog

explainx / blog

MCP Events in ChatGPT: How Event-Driven Agents Actually Work

MCP, ChatGPT, AI Agents, Webhooks, Guides

OpenAI documented MCP Events: servers push webhooks that wake ChatGPT agents. How subscriptions, signing and callbacks work, the security traps, and who should build.

Oct 4, 2026·9 min read·Yash Thakker
add explainx.ai
go deep
MCP Events in ChatGPT: How Event-Driven Agents Actually Work

Right now, most agents wake up for one of two reasons: a cron schedule or a human typing a message. On October 3, 2026, Nathan Baschez, who works on product design at Notion, posted that he had not seen near enough excitement about OpenAI's MCP Events documentation, adding: "Event-driven triggers are a huge deal." The documentation describes how an MCP server can push updates to ChatGPT, so an agent can act when something happens in your tools rather than when you remember to ask.

This guide walks through how the protocol works, what you need to build, the security traps in the docs, and where the pattern is useful. All protocol details come from OpenAI's developer documentation as of October 4, 2026; this is a documentation walkthrough, not a report from a production deployment.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

TL;DR: MCP Events in one table

table · 2 cols
QuestionAnswer
What does it do?Lets ChatGPT subscribe to events (new message, comment, status change) from an MCP server
Where does it run?Work chats on ChatGPT web, desktop Work chats with Cloud selected, and dots
Protocol requirementMCP 2.0, protocol version 2026-07-28
Delivery modeWebhook only (no polling, no streaming)
Methods to implementevents/list, events/subscribe, events/unsubscribe
SigningStandard Webhooks (HMAC), with headers webhook-id, webhook-timestamp, webhook-signature
Payload limit256 KiB per event, one event per request
Biggest trapsSSRF via callback URLs, injection via payload text, feedback loops

Why do events matter for agents?

An agent that only runs on a schedule wastes work when nothing changed and reacts late when something did. An agent that only runs when you message it depends on you to notice. Events change the trigger from time or human attention to the thing you actually care about.

OpenAI's two examples show the shape. A user asks ChatGPT to monitor a feedback channel and open draft pull requests with fixes and tests when a bug report arrives, backed by a message.created event filtered by channel. Or a user asks it to watch a document for review comments and implement requested edits, backed by comment.created filtered by document. Baschez listed similar ideas: @mention an agent in a comment on a document and have it reply, or triage notifications from chat, email and issue trackers and escalate only what is important.

He also pointed to a business angle: "subagent as a service" startups, where a main agent such as Codex or Claude calls a specialist that wraps proprietary data and process as a tool, and events let that specialist call back when its work completes.

How does MCP Events work, step by step?

  1. Your server lists the events it supports. It advertises an events capability in its server/discover response.
  2. The user tells ChatGPT what to monitor and how to respond. For example, "watch this document and implement review comments."
  3. ChatGPT subscribes through your server, supplying a callback URL and a signing secret.
  4. Your server sends matching events as signed webhooks to that URL.
  5. ChatGPT receives the event in the subscribed chat and follows the user's instructions.

On the server side you implement three methods on the same authenticated endpoint as your tools.

table · 2 cols
MethodWhat your server does
events/listDescribe available events and their filters
events/subscribeCreate or refresh a subscription
events/unsubscribeStop a subscription

Defining an event

Each event has a name, supported delivery modes, an inputSchema for subscription arguments, and a payloadSchema for the delivered data. The docs' example is a comment.created event with a required document_id filter and a payload containing the document ID, comment ID, text and URL. Use stable event names and specific descriptions, apply filters on your server before delivery, and return only events the connected account may discover.

Subscribing

When the user asks to monitor something, ChatGPT calls events/subscribe with the event name, arguments and delivery details.

json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "events/subscribe",
  "params": {
    "name": "comment.created",
    "arguments": { "document_id": "doc_123" },
    "delivery": {
      "mode": "webhook",
      "url": "https://receiver.example.com/mcp-events/callback_123",
      "secret": "whsec_<base64-encoded-signing-key>"
    },
    "cursor": null
  }
}

Before accepting, check that the user is authorized for the requested event and arguments, validate the arguments against your schema, require a whsec_ secret whose base64 value decodes to 24 to 64 bytes, validate and verify the callback URL, and store the subscription with its owner, filters, URL, secret and expiration. Derive a deterministic subscription ID from the authenticated principal, callback URL, event name and arguments, and make creation idempotent, comparing arguments as canonical JSON so key order does not create duplicates. Return the ID and a refreshBefore expiration.

Verifying the callback

Before sending application data, send a signed verification request with a fresh, single-use challenge. ChatGPT echoes the challenge back in a 2xx response; you compare it in constant time before activating delivery. If verification fails, return JSON-RPC error -32015 (CallbackEndpointError) with a reason such as challenge_failed or timeout.

Sending and signing events

A delivery is a POST of one event object with a unique eventId, a name matching the subscription, an ISO 8601 timestamp, and a data object matching your payload schema. Sign it with Standard Webhooks and send the headers webhook-id (same as eventId), webhook-timestamp (Unix seconds), webhook-signature and X-MCP-Subscription-Id. The signature covers the exact body bytes, so serialize once and send those bytes. The docs' Node.js example uses the standardwebhooks library, a 10 second timeout, redirect: "error", and a 256 KiB size guard.

A 2xx response means receipt; ChatGPT processes asynchronously. Retry transient failures with exponential backoff and bounded attempts, keep the same event ID, generate a fresh signature each attempt, and do not retry 410 or 413. Events can arrive out of order, so make write tools idempotent.

What are the security traps?

The docs are practical about security, and the rules map directly to well-known attack classes.

  • Server-side request forgery. Your server will POST to URLs supplied by clients. Require HTTPS, resolve and validate addresses at connection time, connect to the validated address while preserving the hostname for TLS, block private, local and other non-public ranges, and do not follow redirects. Apply the same checks to verification requests.
  • Prompt injection through payloads. The docs say to treat comments and other user-authored text as data and not to add instructions telling the model how to behave inside the payload. A malicious comment is an instruction channel into an agent that acts automatically. Keep payloads small, send a summary and a read tool for large records, and rely on the user's instruction rather than the event text.
  • Access revocation. Recheck the user's access during the subscription lifetime and stop delivery if it is revoked.
  • Feedback loops. If the agent's action changes data in the source app and that emits another event, you can create a loop. The docs ask you to test for it explicitly.
  • Secret rotation. When a refresh supplies a new signing secret, replace it, and during a short window sign with both old and new keys using Standard Webhooks' space-separated signatures.

An event-triggered agent also changes the risk profile of everything else you have connected. Tool poisoning and silent definition changes matter more when the agent acts without a human in the loop, which is why we cover them in MCP rug pulls, tool poisoning and scanners and in the broader MCP security guide. One reported case of a Dot emailing city officials without being asked, covered in the unapproved email post, is unconfirmed by OpenAI but illustrates why autonomous triggers need approval design.

What people are asking

Is this the same as the MCP working group's triggers and events work? It implements part of it. OpenAI says ChatGPT supports webhook delivery and callback verification from the draft MCP Events specification, and that polling, streaming and the draft's gap and terminated notifications are not supported. The MCP roadmap lists server-initiated events as a priority; see the new MCP roadmap.

Why does the spec need version 2026-07-28? That revision made the protocol request-and-response and serverless-friendly. Read the details in MCP 2026-07-28 explained. Event subscriptions are the stateful part you now store yourself, which is why persistent subscription storage is a hard requirement.

Did people already know? Replies to Baschez said excitement arrives about six months after the spec, and one person thought the spec was still a draft. Another quoted a call for MCP triggers so connected services can call cloud agents back. The pattern has been discussed for a while; the new part is a shipping consumer.

Can I host the server on ChatGPT itself? Possibly, for simple cases; see how to host an MCP server on ChatGPT Sites. Events need persistent storage and outbound HTTPS, which you should confirm for any hosting option.

Does this replace cron? No. Use cron for periodic digests and checks with no triggering event, and events for reactions. Many workflows want both.

A build checklist

  1. Add the events capability to your discovery response and implement the three methods.
  2. Define few, specific events with filters, and expose a read tool for full records.
  3. Store subscriptions durably with owner, filters, URL, secret and expiry; survive restarts.
  4. Verify callbacks with a single-use challenge and cache success for a bounded time.
  5. Block private addresses, disable redirects, and cap payloads at 256 KiB.
  6. Sign with Standard Webhooks, preserve event IDs across retries, and make write tools idempotent.
  7. Test subscribe, refresh across a restart, revoked access, duplicate deliveries, invalid signatures, bursts, and feedback loops.
  8. Scan and pin your own MCP server dependencies, as discussed in the security posts linked above.

If you are new to building servers, start with build your first MCP server, then add events.

Honest limitations

This guide summarizes OpenAI's documentation, not hands-on testing; we have not built an MCP Events server against ChatGPT for this post. The docs describe availability, so check your workspace controls before relying on it. Details may change as the draft specification evolves.

Related reading

  • The new MCP roadmap for 2026
  • MCP 2026-07-28: stateless core, Apps, Tasks and enterprise auth
  • How to host an MCP server on ChatGPT Sites
  • Max Stoiber on the OpenAI plugin platform and MCP
  • MCP security guide 2026
  • MCP rug pull, tool poisoning and scanners
  • Top 10 open and closed source MCP servers
  • What is MCP? The complete guide

Official: OpenAI MCP Events documentation · MCP triggers and events working group

Accurate as of October 4, 2026, based on OpenAI's developer documentation.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

View Yash Thakker in People in AI →

Related posts

Aug 18, 2026

3 AI Skills That Matter Most in Late 2026 and 2027

Most "AI skills to learn" lists keep growing every quarter. Three of them actually compound into each other and cover the entire modern agent stack: Agent Skills (what an AI knows how to do), loop engineering (how long it can reliably do it), and MCP connectors (what it can reach while doing it). Master these three and the rest of the stack falls into place.

Aug 11, 2026

ChatGPT Books Your Table Now: Inside the OpenTable, Resy, and Yelp Integrations

On August 10, 2026, Yelp brought Reservations and Waitlist into ChatGPT for thousands of US and Canada restaurants, alongside Resy in the US and OpenTable globally. explainx.ai breaks down the mechanism, the recommend-vs-transact jump, the local GEO implications, and what surface you need to expose to be bookable by an assistant.

Jul 9, 2026

AI Skills Every Developer Needs in 2026: The Prompting → MCP → Agents Roadmap

Stanford's 2026 AI Index shows entry-level developer roles shrinking while agent benchmarks climb. Here's the six-stage AI skills roadmap — prompting to MCP to agents to RAG — that keeps engineers ahead of that curve instead of behind it.