OpenAIは2026年9月29日のDevDayで、ChatGPTのプラグインをアプリに近い形へ拡張する「Plugin Extensions(プラグイン拡張機能)」を発表した。開発者は、プラグインをサイドバーから全画面で開いたり、会話の横に操作画面を表示したり、独自形式のファイルを閲覧・編集したりできる。
さらに「MCP Events」への対応によって、文書の更新やメッセージの到着といった外部サービス側の変化をきっかけに、ChatGPTで処理を始められるようになる。これまで会話から外部ツールを呼び出していたプラグインが、独自の画面とイベントによる自動実行を備えた、よりアプリに近い仕組みへ広がる。
ただし、今回発表されたものが一つの巨大な「ChatGPTアプリ仕様」になったわけではない。複数の環境で利用できる公開仕様、ChatGPT独自のUI機能、外部サービスからイベントを受け取る仕組み、プラグインの公開・権限管理など、異なる仕組みが組み合わされている。
それぞれの役割を分けて見ると、開発者がChatGPT以外でも再利用できる部分と、ChatGPT向けに追加する部分、利用者や管理者が確認すべき権限の違いが見えてくる。
新しいプラグインを4つの仕組みに分けて見る
今回のプラグイン拡張を整理すると、大きく「共通UI」「ChatGPT独自のUI拡張」「イベント連携」「配布・権限管理」の4つに分けて考えられる。
| 分類 | 主な役割 | 開発・導入時に確認すること |
|---|---|---|
| 共通UI | MCP Appsを使ってツールとUIを結び、iframe内のコンポーネントとホストが通信する | ChatGPT以外のMCP Apps対応環境でも使いたいUIはここで作る |
| ChatGPT独自のUI拡張 | サイドバー、会話横のパネル、設定画面、ファイル閲覧・編集などを追加する | ChatGPT固有の機能が必要か、利用する画面で提供されているかを確認する |
| イベント連携 | MCP Eventsで外部サービスの変化を購読し、WebhookでChatGPTへ届ける | 購読情報の保存、HTTPS通信、重複配送や失効への対応が必要 |
| 配布・権限管理 | プラグインの審査・公開、ワークスペース内共有、外部アプリの認証や操作権限を管理する | インストール、外部サービスへの接続、共有、公開を別々に考える |
これはOpenAIが公式に「4層」と分類しているわけではなく、公開されているUI、Extensions、MCP Events、公開・権限管理の資料を、役割ごとに整理したものだ。
重要なのは、画面を追加することと、外部サービスの変化をきっかけに自動で処理を始めることは別の機能だという点だ。
操作しやすい画面を作っても、外部サービスの変更を自動的に受け取るにはMCP Eventsなどの仕組みが別途必要になる。反対に、イベントを受け取って自動処理できる機能でも、必ずしも専用の操作画面が必要とは限らない。
開発者は、用途に応じて必要な機能だけを組み合わせられる。
ChatGPT向けの画面を作っても、基礎機能はUIに依存させない
プラグインに独自UIを追加する場合、OpenAIはまず公開仕様である「MCP Apps」を使うことを推奨している。
MCP Appsでは、MCPサーバーが提供するツールとUIリソースを結び付ける。ChatGPTではUIコンポーネントが隔離されたiframe内で動作し、postMessage上のJSON-RPCを通じて、ツールへの入力、実行結果、モデルへ渡す文脈などをやり取りする。
この仕組みはChatGPTだけの仕様ではなく、MCP Appsに対応する別のホストでも利用できる。
OpenAIはその上に、ChatGPT固有の機能が必要な場合だけPlugin Extensionsを追加する設計を推奨している。
今回公開されたPlugin Extensionsには、主に次のような機能がある。
- サイドバーからプラグインを全画面で開く「Sidebar apps」
- 会話の横にアプリを表示する「Conversation panels」
- ChatGPT内でプラグイン固有の設定を変更する「Plugin settings」
- 独自形式のファイルを開いて編集できる「File viewers and editors」
- 会話内での表示方法を指定する「Display modes」
- アプリ内の特定ページへ直接移動する「Deep links」
- ChatGPTとアプリの文脈を双方向で共有する「Model-App Context」
- 入力欄からプラグイン内の項目を検索・指定する「Composer mentions」
- 画像などを含む選択肢から入力を受け取る「Rich forms」
例えば、Sidebar appsを使えば、プラグインをChatGPTのサイドバーから起動し、全画面のアプリとして操作できる。Conversation panelsでは、ChatGPTとの会話を残したまま、その横でプラグインの画面を操作できる。
File viewers and editorsでは、プラグイン側が対応するファイル拡張子を登録しておくことで、その形式のファイルを開いた際に独自のビューアーや編集画面を表示できる。
一方でOpenAIは、MCPツールそのものについては、専用UIがなくても利用できるようにすることを求めている。
すべてのChatGPT画面やMCPクライアントが独自コンポーネントを表示できるとは限らないためだ。UIを開けない環境でも、ツールが返す構造化データだけでモデルが必要な処理を完了できる設計が望ましい。
この構成なら、ChatGPTでは専用の操作画面を使いながら、基礎となるMCPツールは別の対応環境でも再利用できる。
提供状況にも違いがある。
OpenAIは、Plugin ExtensionsのWeb版をChatGPT FreeとGoへ近日中に提供すると説明しており、従来のプラグイン機能には影響しないとしている。一方、入力欄からプラグイン内のファイルなどを検索して指定するComposer Mentionsは、ChatGPTのデスクトップアプリ限定となる。
つまり、発表された9種類の機能を、すべてのユーザーが同じ画面からすぐに利用できるわけではない。
外部サービスの変化で動かすには「購読」が必要
「MCP Events」は、外部サービスで起きた出来事をきっかけにChatGPTで処理を始めるための仕組みだ。
例えば利用者が、「この文書に新しいコメントが付いたら内容を確認してほしい」と指示したとする。
まずChatGPTは、接続したMCPサーバーがどのようなイベントを提供しているかを確認する。そのうえで対象イベントを購読し、MCPサーバーへコールバックURLと署名用の情報を渡す。
文書へのコメント追加など、条件に一致する出来事が発生すると、MCPサーバーが署名付きWebhookをそのURLへ送信する。ChatGPTはイベントを購読している会話で受け取り、利用者があらかじめ指定した方法で処理する。
つまり、単に「通知をChatGPTへ送る」だけではなく、利用者が監視対象を指定し、ChatGPTとMCPサーバーの間で購読を作成して維持する仕組みになっている。
実装にはいくつかの条件がある。
ChatGPTでMCP Eventsを利用するには、MCP 2.0のプロトコルバージョン2026-07-28への対応が必要だ。サーバー側では購読情報を永続的に保存し、外部のコールバックURLへHTTPSで接続できる必要がある。
さらに、
- 利用可能なイベントを返す
events/list - イベントの購読を作成・更新する
events/subscribe - 購読を解除する
events/unsubscribe
の3つを実装する。
Webhookの送信時には署名を付け、ChatGPT側が送信元と内容を検証できるようにする。
実際の運用では、同じイベントが複数回届く場合や、順番が前後する場合も考慮しなければならない。OpenAIも、書き込みツールについては同じ処理が繰り返されても二重に変更が発生しないよう、冪等性を持たせることを求めている。
対応しているMCP Eventsの機能にも限りがある。
OpenAIが現在対応しているのは、草案段階にあるMCP Events仕様のうちWebhook配送とコールバック検証だ。ポーリングやストリーミングには対応しておらず、イベントの欠落や購読終了を知らせるgap、terminated通知も利用できない。
そのため、「MCP Eventsに対応した」というだけで、MCP Events仕様に含まれるすべての通知方式をChatGPTで使えるわけではない。
また、そもそもどのイベントを提供するかは各プラグインのMCPサーバー側が決める。すべてのプラグインが、文書更新やメッセージ到着をイベントとして公開するわけではない。
プラグインをインストールしても、外部サービスへの権限が自動で増えるわけではない
UIや自動化機能が増えても、外部サービスへのアクセス権限は別に管理される。
プラグインをインストールしただけで、そのプラグインに含まれる外部アプリへの接続や認証が自動的に完了するわけではない。
利用するサービスによって、
- 利用者本人によるアカウント認証
- 管理者が設定した接続
- 読み取り・書き込み可能な操作
- 操作ごとの承認
- 許可されたアカウントやドメイン
- 同期対象
などの条件が別に適用される。
プラグインから利用できるのは、その利用者やワークスペースがすでに持っている権限の範囲内だ。
プラグインの公開手順にも複数の段階がある。
開発者は完成したプラグインをZIPとしてアップロードし、自動検査で指摘された問題を確認・修正したうえで審査へ提出する。同時に審査できるのは1つのプラグインにつき1件で、承認後も実際に公開する時期は開発者自身が決める。
一度公開された後は、ホストしているMCPサーバーをOpenAIが毎日スキャンする。
サーバー側でツールを変更した場合、変更内容が自動検査を通れば、新しいプラグインZIPを提出しなくても更新を反映できる。開発者が手動で再スキャンを依頼することもできる。
一方、プラグインのメタデータ、アセット、同梱されたスキルなどを変更する場合は、新しいZIPをアップロードし、必要な審査を受ける必要がある。
つまり、MCPサーバー上で動くツールの更新と、配布するプラグインパッケージそのものの更新は、別の仕組みで管理される。
ChatGPT SitesからMCPツールを公開する方法も加わった
ChatGPT Sitesには、Site内でMCPサーバーをホストし、そのツールをプラグインとして利用する仕組みも用意された。
例えば、社内ハンドブックを置いたSiteにMCPツールを追加し、そこから情報を検索・取得するプラグインを作る、といった使い方ができる。
OpenAIのヘルプでは、Site上でのプラグインホスティング自体は全プランを対象としている。ただし、DevDayで発表された機能は段階的に展開されており、アカウントによってはまだ表示されない場合がある。
BusinessやEnterpriseでSiteやプラグインを組織内共有する場合には、管理者による権限設定も必要になる。
例えばEnterpriseでは、
- プラグインを利用できるか
- プラグインをアップロードできるか
- MCPを使ったプラグインを作成できるか
- 他のメンバーへ共有できるか
- ワークスペースのディレクトリへ公開できるか
といった権限が分かれている。
共有された側も、プラグインを利用するには必要なSiteへのアクセス権を持ち、自分自身でプラグインをインストールし、必要な外部サービスへの接続を完了する必要がある。
また、Proなどの個人アカウントでは、Site上で作成したプラグインを、招待や共有リンクを使って別のChatGPTユーザーへ直接共有することは現時点ではできない。
Siteそのものを共有することと、そこから作成したプラグインを共有することも別の操作だ。
発表された機能より、実際に使える範囲を見る
今回の更新によって、ChatGPTのプラグインには、独自UI、ファイル編集、イベントによる自動実行、公開・共有といった、アプリに近い体験を作るための機能がそろってきた。
ただし、仕様として存在する機能と、現在ChatGPTで利用できる機能は同じではない。
Plugin Extensionsの一部はまだ展開途中で、MCP Eventsも草案仕様のすべてに対応しているわけではない。さらに、プラグインをインストールできることと、接続先サービスで必要な操作権限を持っていることも別の問題だ。
開発時に重要なのは、全画面表示や専用パネルの数を増やすことではない。
UIを表示できない環境でもMCPツールだけで必要な処理を完了できるか。イベントが重複したり順序が前後したりしても安全に処理できるか。利用者が、どの外部サービスへどの権限を渡しているのか理解できるか。
こうした条件を満たせれば、ChatGPTのプラグインは会話に機能を追加する仕組みから、複数のサービスにまたがる作業を継続して処理するための基盤へ発展していくことになる。



