ChatGPT's MCP Events: webhook triggers from your own MCP server, with real gaps

MCP Events lets ChatGPT act on webhooks from your MCP server. For teams running a remote MCP plugin who can own subscription storage and delivery.

Picture a product manager at a six-person B2B software shop. Bug reports land in a feedback channel on the team's own internal tool. Twice a day she skims it, copies the promising reports into ChatGPT, asks for a likely fix, and pastes the result into a ticket for an engineer. On quiet days that works. On busy days reports sit for hours, the copy-paste drops the surrounding context, and anything posted Friday evening is stale by Monday. The model can do the work. The problem is that it only runs when she remembers to prompt it.

That's the gap MCP Events targets. OpenAI's docs say it "lets ChatGPT subscribe to updates from your MCP server, such as new messages, content updates, or status changes." The user picks what to watch and what ChatGPT should do when an update arrives. OpenAI's own example request is "Monitor #product-feedback for bug reports and open draft pull requests with fixes and tests." Nerd's Chalk places the launch at DevDay on September 29, 2026. Apidog's DevDay status table lists it as available on all ChatGPT plans, with no fee stated, on a proposed spec.

What it is

What shipped is ChatGPT-side support for part of a draft MCP spec. OpenAI's docs say ChatGPT supports "webhook delivery and callback verification." Polling, streaming, and the draft's gap and terminated control notifications are not supported. Here's how each piece maps to the PM's problem:

Prerequisites, per OpenAI: MCP 2.0 (protocol version 2026-07-28), persistent subscription storage, and outbound HTTPS access to callback URLs.

Alternatives:

Who it's for

Pick it up if you already run, or are ready to run, an authenticated remote MCP server behind a ChatGPT plugin, your users work in ChatGPT, and your events are either replayable or cheap to miss now and then.

Skip it if you need this to work in Claude or another non-ChatGPT client. None was confirmed in our research, so treat this as ChatGPT-first. Also skip it if your source is already covered by a first-party connector, or if a missed event is a real incident and you have no replay story.

Before and after

Before:

  1. The PM checks the feedback channel when she remembers.
  2. She copies a report into ChatGPT, often without the surrounding thread.
  3. She asks for a fix and reads the answer.
  4. She pastes it into a ticket or hands it to an engineer.

After (as OpenAI describes the flow):

  1. The team's MCP server advertises a message.created event, filtered by channel_id.
  2. The PM tells ChatGPT once what to watch and how to respond, for example by opening draft PRs.
  3. ChatGPT subscribes through the server and supplies a callback URL and signing secret.
  4. The server verifies the callback, then POSTs each matching message as a signed event.
  5. ChatGPT follows the standing instructions in that chat. Per OpenAI, it can group separately delivered events into one task run according to the task's batching settings.

Try it

The smallest real step, per OpenAI's guide, is to add events to your server's server/discover capabilities:

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"resultType": "complete",
"supportedVersions": ["2026-07-28"],
"capabilities": {
"tools": {},
"events": {}
}
}
}

Then implement events/list, events/subscribe and events/unsubscribe on the same authenticated endpoint as your tools. For signing, OpenAI's Node example starts with:

npm install standardwebhooks

To test, connect the server to ChatGPT through a plugin. Confirm it receives server/discover and events/list, and check that your events appear on the plugin page alongside your tools. Rescan whenever you change tools or events. On cost, Apidog reports no fee stated. Your own costs are hosting and storage.

For a sense of real scope, the mupot spike plans:

The Neotoma issue treats events as notifications only, with writes still going through existing MCP tools.

Where it breaks

Sources