プラグインを一般公開する準備ができたら、プラグイン提出ポータルからレビューに提出します。
既存の Claude Code プラグインやコネクタを移行する場合は、まず Claude Code プラグインの OpenAI への提出を参照し、 提出を始める前に必要な変更を確認してください。
ポータルでエラーコードが返された場合は、 提出エラーリファレンスを参照し、 該当する要件を確認してください。
プラグインには、スキル、MCP サーバー、またはその両方を含められます。提出できるのは次の種類です。
- 再利用可能なワークフローをパッケージ化した、スキルのみのプラグイン
- リモート MCP のみのプラグイン(カスタム UI は任意)
- リモート MCP サーバーと、アップロードしたスキルまたは MCP からインポートしたスキルを組み合わせたプラグイン
MCP サーバーは、安定した公開 HTTPS エンドポイントを用意し、 MCP あり から提出します。 MCP サーバーがローカルで動作している場合は、公開 HTTPS URL にデプロイしてください。それができない場合は、 ローカル MCP のサポートについて OpenAI の担当者にお問い合わせください。
ポータルでは、掲載情報、MCP サーバーまたはパッケージの詳細、スキル、開始用プロンプト、テストケース、提供対象国、ポリシー遵守の表明を入力します。入力する項目は、プラグインにスキル、リモート MCP サーバー、またはその両方が含まれるかによって異なります。
ローカル開発、パッケージ化、マーケットプレイスのセットアップについては、 プラグインを作成するを参照してください。
サーバーを利用する機能については、 MCP サーバーの構築を参照してください。
提出前の準備
既存の連携への参照ではなく、リモート MCP サーバー自体の提出
公開済みの既存の連携を参照するプラグインは提出できません。プラグインに ChatGPT または Codex にすでに存在する MCP サーバーが含まれる場合は、そのサーバーを MCP を利用する新規プラグインとして、ポータルから一から提出してください。ポータルはその MCP サーバーをスキャンし、ツールのメタデータを検証して、提出されたサーバーの詳細をレビューに使用します。
プラグイン提出権限の取得
プラグインの下書きを作成または提出するには、 プラグイン提出への書き込み権限を持つ組織ロールが必要です。Platform では現在、 この権限は アプリ管理と表示されています。
- OpenAI Platform のロール設定を開きます。
- プラグインを所有する組織を選択します。
- 提出者に割り当てられているロールを開くか、新しいロールを作成します。
- ロールの権限で、 アプリ管理 を 書き込みに設定します。
- ロールを保存し、プラグインの下書きの作成、編集、提出を行う各ユーザーに割り当てます。
- プラグイン提出ポータルを再読み込みします。

組織のオーナーは、これらの権限をすでに持っています。オーナー以外の提出者は、下書きの作成や提出には書き込み権限が、下書きやレビュー状況の閲覧には読み取り権限が必要です。
開発者または事業者の本人確認
一般公開を目的とする提出にはすべて、OpenAI Platform で確認済みの開発者情報または事業者情報を使用する必要があります。レビュー担当者はこの情報を使い、提出内容が公開掲載情報の名前、ウェブサイト、サポート窓口、プライバシーポリシー、規約と一致しているか確認します。
本人確認の手順は次のとおりです。
- OpenAI Platformにサインインします。
- プラグインを公開する組織を選択します。
- 組織設定を開きます。
- 自分の名前で公開する場合は 個人の本人確認 を、 会社名で公開する場合は 事業者確認 を完了します。
- プラグイン提出フォームに戻り、 開発者情報 フィールドで確認済みの情報を選択します。
公開者の情報が未確認であったり一致していなかったりすると、 レビュー担当者が提出を却下する場合があります。適用されるレビュー規則については、 組織確認の要件を 参照してください。
Platform では開発者情報または事業者情報が確認済みと表示されているのに、 プラグイン提出フォームで認識されない場合は、 その情報の確認を行った組織およびプロジェクトから提出しているか確認してください。 提出者には、その組織の アプリ管理 への書き込み権限も必要です。 組織のオーナーまたは管理者に、提出者に割り当てられたロールの更新を依頼し、 プラグイン提出ポータルを再読み込みしてください。
必要な資料の準備
フォームを開く前に、次のものを用意してください。
| 資料 | 準備するもの |
|---|---|
| 掲載情報 | プラグイン名、短い説明、詳しい説明、ロゴ、カテゴリ、ウェブサイト、サポート URL、プライバシーポリシー URL、規約 URL。 |
| 開発者情報 | OpenAI Platform で確認済みの個人情報または事業者情報。 |
| リモート MCP サーバー | 公開 MCP サーバー URL、ドメイン確認に必要なアクセス権、認証の詳細、必要に応じたデモ用認証情報、コンテンツセキュリティポリシー、正確なツールメタデータ。 |
| ツールアノテーション | リモート MCP を含むプラグインの場合は、すべての MCP ツールの readOnlyHint、openWorldHint、destructiveHint の値。 |
| スキル | スキルを含むプラグインの場合は、最終版のスキルバンドル、または ツールをスキャン でインポートできる静的スキルを公開するリモート MCP サーバー。 |
| プロンプト | 有用で現実的なワークフローを示す開始用プロンプト。 |
| テストケース | 期待される動作を明確にした、正常系テストケース 5 件と異常系テストケース 3 件。 |
| 提供地域 | プラグインを提供する国または地域。 |
| リリースノート | 提出内容と、以前のバージョンがある場合はそこからの変更点を簡潔にまとめたもの。 |
プラグイン提出の作成
- プラグイン提出ポータルを開きます。
- プラグインを作成を選択します。
- 提出の種類を選択します。
- スキルのみのプラグインの場合はスキルのみ
- リモート MCP のみのプラグインの場合はMCP あり
- リモート MCP サーバーと、アップロードしたスキルまたは MCP からインポートしたスキルを 組み合わせるプラグインの場合は、MCP あり を選択します。
フォームの入力中、申請内容はポータルに下書きとして保存されます。
フォームの入力
情報
公開用の掲載情報と公開者の各項目を入力します。
- プラグイン名: ユーザー向けの製品名またはワークフロー名を使用します。
- 説明: ユーザーがプラグインで何をできるかを説明します。 短い説明は簡潔にまとめ、長い説明にはワークフローの詳細を記載します。
- 開発者情報: 公開者として、本人確認済みの個人情報または 事業者確認済みの事業者情報を選択します。
- ロゴとカテゴリ: 本番環境で使用できる品質のブランド素材を使用します。
- ウェブサイト、サポート、プライバシー、規約の URL: 公開者と一致し、 関連するデータの取り扱いを開示している公開 URL を使用します。

申請前に、MCP のレスポンスをプライバシーポリシーと照らし合わせて確認してください。ツールのレスポンスから、不要な個人データ、認証用のシークレット、デバッグ用ペイロード、内部識別子、開示していないユーザー関連のフィールドを削除してください。
MCP
リモート MCP サーバーを含む申請では、次の手順を行います。
- MCP サーバー URL の種類を選択します。
- すべてのユーザーと組織が同じ固定の MCP サーバー URL を使用できる場合は、 共通 を選択します。
- 顧客ごとに個別のテナント、ワークスペース、または管理対象の MCP エンドポイントがある場合など、 ワークスペース固有の URL の使用を OpenAI が承認している場合にのみ、 テンプレート を選択します。
- 必要な URL を入力します。
- 共通の場合は、本番環境の MCP サーバー URL を入力します。
- テンプレートの場合は、 MCP サーバー URL の例 と テンプレート形式の MCP サーバー URL の両方を入力します。URL の例には、テンプレートと一致し、 提出したテスト用認証情報で動作する、具体的で有効なエンドポイントを指定する必要があります。
- 認証を設定し、サーバーでサインインが必要な場合は、レビュー担当者がそのまま使えるデモ用認証情報を提供します。
- UI がデータを取得するドメインを正確に指定して許可するコンテンツセキュリティポリシーを定義します。
- ポータルに ドメイン未確認のチャレンジが表示された場合は、ドメインの確認を完了します。
MCP のホスト名または親ホスト名の HTTPS オリジンを使用し、
/.well-known/openai-apps-challengeにトークンをそのまま配置します。 - ツールをスキャンを選択します。
- 検出されたツール、インポートされたスキル、ドメイン、検証結果、ツールのメタデータを確認します。
- サーバー、スキル、メタデータの問題を修正し、修正内容をデプロイしてから再度スキャンします。

OAuth を使用するプラグインでワークスペースのドメイン制限に対応するには、
ユーザーの email クレームと email_verified: true を返す
UserInfo エンドポイントの情報を公開するように認可サーバーを設定します。申請前に、
プロバイダーが openid と email の各スコープの情報も公開し、有効にしていることを確認してください。
これらのクレームは ID トークンで返すこともできますが、
ワークスペースのドメイン制限には UserInfo エンドポイントが必須です。
プロバイダーがこれらの要件に対応していない場合は、プロバイダーと協力して対応を追加してください。
ワークスペースのドメイン制限への対応を参照してください。
テンプレート形式の MCP サーバー URL
ほとんどのプラグインでは 共通を使用してください。テンプレート形式の MCP サーバー URL を使用できるのは、 ユーザーやデータのグループごとに異なる MCP サーバー URL が必要となる、 限られたケースのみです。OpenAI がテンプレート形式の URL をサポートするのは、 すでに関係を築いている信頼できる開発者に限られます。 テンプレート URL の使用を OpenAI が承認していない場合は、共通 URL を提出してください。
テンプレート形式の MCP サーバー URL では、ワークスペース管理者が設定する部分に
{name} プレースホルダーを使用します。プレースホルダー名は英字で始まり、
英字、数字、アンダースコアのみを含み、URL 内で一意である必要があります。
MCP サーバー URL の例 では、各プレースホルダーを実際の値に置き換える必要があります。
例:
Example MCP Server URL: https://acme.example.com/mcp
Template MCP Server URL: https://{workspace}.example.com/mcp
URL の例は、レビュー中に公開アクセスできる必要があります。 MCP サーバー URL の例 の欄に仮の URL を入力しないでください。 MCP のレビュー要件の詳細は、 テンプレート形式の MCP サーバー URL を参照してください。
既存の連携の ID を入力したり、公開済みの連携をポータルから参照しようとしたりしないでください。そのサーバーが ChatGPT や Codex で公開済みの連携に使用されている場合でも、申請時には MCP サーバー URL とレビュー用の資料を直接提供する必要があります。
ドメインの確認
MCP を含むプラグインでは、サーバーをホストするドメインの管理権限を確認する必要があります。ポータルにドメイン確認チャレンジが表示されたら、生成された well-known URL に確認用トークンをそのまま配置します。
https://<challenge-base-host>/.well-known/openai-apps-challenge
チャレンジ用エンドポイントは、そのプラグインの確認用トークンのみを返す必要があります。同じ URL から JSON、トークンのリスト、複数のトークンを返さないでください。
チャレンジのベース URL は、ポータルにトークンの確認先を伝えるための、任意で指定できる HTTPS オリジンです。
MCP のホスト名または親ホスト名である必要があります。
パスは無視されます。たとえば、MCP サーバー URL が
https://api.example.com/mcp の場合、デフォルトのチャレンジ URL は
https://api.example.com/.well-known/openai-apps-challenge です。
https://example.com にトークンを配置できる場合は、
これを親オリジンのチャレンジベースとして使用できます。
MCP を含む 2 つのプラグインが同じホスト名を共有し、パスだけが異なる場合、デフォルトのチャレンジ URL も同じになります。パスは無視されるため、チャレンジのベース URL に異なるテナントのパスを指定しても、個別に確認することはできません。新しいトークンを配置できる親オリジンを使用するか、MCP サーバーに別のホスト名を割り当ててください。どちらの方法でもホストできない場合は、OpenAI サポートに相談してください。
MCP を含む別のプラグインがすでに同じホスト名を使用している場合、そのプラグインで不要になっていない限り、既存のチャレンジトークンを置き換えないでください。新しい申請には、許可されている親オリジンのチャレンジのベース URL、または別の MCP ホスト名を使用してください。
すべてのツールには、明確な名前、説明、スキーマ、出力構造を用意してください。ツールが返す内容をレビュー担当者やモデルが理解するうえで役立つ場合は、出力スキーマを追加してください。
各ツールの実際の動作に合わせて、ツールのアノテーションを設定します。
| アノテーション | 使用条件 |
|---|---|
readOnlyHint | ツールが情報の取得、検索、一覧表示、取り出し、プレビュー、計算のみを行い、何も変更しない場合に限り true に設定します。作成、更新、削除、送信、キューへの追加、ジョブの実行、ワークフローの開始、ログの書き込み、その他の状態変更が可能な場合は false に設定します。 |
openWorldHint | ツールが公開インターネットや範囲の限定されていない外部の対象にアクセスする場合は true に設定します。これには、ウェブ検索などの読み取り専用ツールや、投稿、メッセージの送信、コンテンツの公開、コードのプッシュ、フォームの送信を行う書き込みツールも含まれます。ツールの操作範囲が限定された非公開のアカウントやワークスペース内にとどまる場合は、サービスが外部でホストされていても false に設定します。 |
destructiveHint | 書き込みツールでは、削除、上書き、アクセス権の取り消し、取り消せないメッセージやトランザクションの送信、その他の不可逆な副作用を引き起こす操作が可能な場合は true に設定します。それ以外の場合は false に設定します。 |
実装の詳細は、 ツールのアノテーションと誘発を参照してください。 レビューで求められる内容は、 ツールヒントによる却下に関するガイダンスを参照してください。
スキル
次のいずれかの方法で、下書きにスキルを追加します。
- スキルのみ、またはスキルと MCP を組み合わせた申請では、最終版のスキルバンドルをアップロードします。
- リモート MCP の申請では、MCP サーバーから静的スキルをインポートします。 ツールをスキャンを選択すると、OpenAI が下書きにスキルをインポートします。
ローカルでテストしたものと同じファイルツリーと指示を使用してください。 MCP からスキルをインポートするには、 ドラフト版のスキル拡張と静的リソースマニフェストに従ってください。

各スキルには次の内容を含めてください。
- 起動条件とタスクの指示を明確に記載した
SKILL.md - 参照しているすべてのスクリプト、テンプレート、アセット
- プラグインの目的に合った、範囲を限定した必要最小限の指示
OpenAI は、アップロードされたスキルと MCP からインポートされたスキルをスキャンし、ポリシーへの準拠状況とセキュリティリスクを確認します。これには、機密情報、不要なアクセス要求、プラグインの安全な動作や想定される動作と矛盾する可能性のある指示の確認が含まれます。スキルにはプラグインの他の部分と同じ基準が適用され、自動スキャンに合格しない場合は申請がブロックされたり、修正が必要になったりすることがあります。
OpenAI は、MCP からスキルを申請時点のスナップショットとしてインポートします。 公開済みプラグインのスキルはリアルタイムには更新されません。サーバー上のスキルを変更したら、 ツールをスキャン を再度選択し、更新されたスキルを確認してから、 プラグインの新しいバージョンを申請してください。
MCP からインポートしたスキルをすべて削除するには、スキル拡張を有効にしたまま、
nextCursor を含めずに { "skills": [] } を返し、再度スキャンします。
拡張を削除した場合や、検証に合格しないレスポンスを返した場合は、
以前のスナップショットが保持されます。
プロンプト
プラグインが最も役立つワークフローを示す開始用プロンプトを追加します。良いプロンプトは、プラグインを使う場面がわかるほど具体的でありながら、ユーザーが自分の用途に合わせて応用できる汎用性も備えています。
例:
- 「直近のリリースで発生した決済エラーを調査し、考えられる根本原因をまとめてください。」
- 「最新のサポートチケットと関連するデプロイをもとに、P1 インシデントの概要を作成してください。」
- 「失敗したデプロイのログを確認し、次に行うべきデバッグ手順を提案してください。」

テスト
正常系のテストケースを少なくとも 5 件、異常系のテストケースを少なくとも 3 件提出してください。
正常系の各テストケースには、次の情報を含めてください。
- ユーザープロンプト
- ツール、スキル、またはワークフローに期待される動作
- 想定される結果の形式
- 再現に必要なテストアカウントまたはフィクスチャデータ
異常系の各テストケースには、次の情報を含めてください。
- ユーザープロンプトまたはシナリオ
- 想定される拒否、確認の質問、または安全な代替動作
- プラグインがリクエストされた操作を完了すべきでない理由
レビュー担当者が内部事情を知らなくても実行できるテストケースを使用してください。プラグインに認証が必要な場合は、提供するデモ用認証情報で、MFA、SMS、メール確認、プライベートネットワークへのアクセスを必要とせず、各テストを完了できることを確認してください。

グローバル
プラグインを提供する国や地域を選択してください。公開元、プロダクト、サポート体制、法的条項について、ユーザーへの提供準備が整っている国や地域のみを選択してください。

提出
提出前にドラフト全体を確認してください。
リリースノートには、次の内容をまとめてください。
- プラグインの機能
- 初回の提出か、更新か
- 以前に提出したバージョンがある場合、そのバージョンからの変更点
- テスト用認証情報、想定されるデータ、セットアップについてレビュー担当者が知っておくべき事項
掲載情報、サーバー、 スキル、プロンプト、テスト、提供地域が正確であることを確認してから、ポリシー遵守の申告を完了してください。その後、 レビューに提出を選択してください。

一般公開までの流れ
プラグインを提出するとレビューが始まります。すぐに公開されるわけではありません。一般公開までの流れは次のとおりです。
- プラグイン提出ポータルからプラグインを提出します。
- OpenAI が提出内容をレビューします。OpenAI によるレビュープロセスの構築や拡張に伴い、レビューにかかる期間は変動する場合があります。
- OpenAI がプラグインを承認した後、開発者が公開時期を決め、ポータルから公開します。
- 公開後、プラグインは ChatGPT と Codex が共有する共通のプラグインディレクトリに表示されます。
MCP のみ、スキルのみ、スキルと MCP を組み合わせたプラグインのいずれも、プラグインディレクトリに表示されます。
公開済み MCP メタデータのバージョンの仕組み
公開後、OpenAI は MCP ツールを定期的に取得します。削除されたツールは スキャンで検出され次第、削除されます。新規または変更されたツール定義は、 自動チェックに合格すると利用可能になります。更新が保留された場合は、以前の 定義が引き続き公開されます。詳しくは、 継続的なレビューとツールの更新をご覧ください。
提出済みのプラグイン情報やインポート済みのスキルを変更する場合は、引き続き新しいバージョンの作成、レビュー、公開が必要です。
最終チェックリスト
提出前に、次の点を確認してください。
- 提出者に アプリ管理 の書き込み権限があること
- 公開元が開発者本人または事業者としての確認を完了していること
- UI を備えたプラグインでは、コンポーネントがデータを取得するドメインを正確に指定したコンテンツセキュリティポリシーを定義していること
- ツールの名前、説明、スキーマ、アノテーションが実際の動作と一致していること
- すべてのツールに、正確な
readOnlyHint、openWorldHint、destructiveHintの値が設定されていること - ツールのレスポンスに、不要な個人データ、認証用の秘密情報、デバッグ用ペイロード、内部識別子、または開示していないユーザー関連のフィールドが含まれていないこと
- 最終的なファイルツリーを使ってスキルをローカルでテスト済みであること
- 開始用プロンプトが現実的なユーザーワークフローを示していること
- 提出内容に正常系のテストケースが 5 件、異常系のテストケースが 3 件含まれていること
リモート MCP を提出する場合は、次の点も確認してください。
- MCP サーバーが公開された本番環境の URL を使用していること
- レビュー担当者用の認証情報が、MFA、メール確認、SMS 確認、プライベートネットワークへのアクセスを必要とせずに使えること
- MCP からインポートしたスキルが、最新の ツールをスキャン で取得したスナップショットと一致していること
- プライバシーポリシー、利用規約、サポート、ウェブサイトの URL が公開されており、公開元の本人確認情報と一致していること