プラグインの公開審査に向けて、リモート MCP サーバーと、プラグインに UI がある場合はその UI を準備します。
このページでは、リモート MCP サーバーを含むプラグインの提出について説明します。スキル、MCP サーバー、任意の UI を含むプラグイン全体を、プラグイン提出ポータルから提出し、公開してください。正式な提出手順は「プラグインの提出」を参照してください。サーバーを利用する機能をプラグインに組み込む方法は「MCP サーバーの構築」を参照してください。
プラグインの提出に向けたリモート MCP 機能の準備
プラグインにリモート MCP サーバーを含める場合は、このページで、組織の認証、管理権限、サーバー要件、審査対象のスナップショット、バージョン管理について確認してください。
リモート MCP サーバーが ChatGPT で動作することを確認したら、プラグイン提出ポータルからプラグインを審査に提出してください。このページでは、提出時にリモート MCP サーバーと任意の UI が満たす必要のある要件を説明します。
提出時に指定する国でプラグインを一般公開する予定がある場合のみ、提出してください。非公開で使用する場合や、利用をワークスペース内に限定する場合は、カスタム MCP サーバー接続を使用してください。
プラグインを提出する前に、プラグインガイドラインで MCP サーバーと任意の UI に求められる事項を確認してください。プラグインの提出から承認、公開までの手順は「プラグインの提出」を参照してください。
スキルのみのプラグインと MCP を利用するプラグインの両方について、審査、承認、公開を含む手順全体は「プラグインの提出」を参照してください。
プラグイン提出前の確認事項
組織の認証
どのプラグインを提出する場合も、事前に OpenAI Platform ダッシュボードで、ディレクトリでの公開に使用する名義の認証を完了してください。
- 自分の名前で公開する場合は、個人の本人確認を完了してください。
- 法人名で公開する場合は、法人認証を完了してください。
審査では公開名義の認証状況を確認します。認証を受けていない個人名または法人名での公開申請は却下されます。
プラグインの提出に必要な権限
プラグインのドラフトを作成して審査に提出するには、api.apps.write 権限が必要です。ダッシュボードでドラフトや審査状況を確認するには、api.apps.read 権限が必要です。組織のオーナーには両方の権限が自動的に付与されます。オーナーは、OpenAI Platform ダッシュボードでロールを通じて他のメンバーにもこれらの権限を付与できます。
リモート MCP サーバーの要件
- MCP サーバーを一般にアクセス可能なドメインでホストしていること
- ローカルまたはテスト用のエンドポイントを使用していないこと
- サーバーが UI を返す場合は、コンポーネントがデータを取得するドメインだけを許可するコンテンツセキュリティポリシー(CSP)を定義していること
MCP サーバー URL のテンプレート
ほとんどのプラグインでは、すべてのユーザーと組織が利用できる単一の MCP エンドポイントをホストし、その共通 URL を提出してください。顧客ごとにテナント、ワークスペース、または管理対象の MCP エンドポイントが分かれているなど、ワークスペースごとに異なる MCP サーバー URL を使用する場合にのみ、Template を選択してください。テンプレート形式の URL を使用できるのは、OpenAI とすでに信頼関係のある開発者に限られます。
テンプレートを使用する場合は、次の 2 つの URL を提出してください。
- Example MCP Server URL: 審査と自動チェックに使用できる、実際に動作する MCP エンドポイントの URL
- Template MCP Server URL: MCP エンドポイントのどの部分が顧客のワークスペースごとに変わるかを示す URL パターン
審査用の MCP サーバー URL には、審査時に OpenAI が接続できる実在のエンドポイントを指定してください。Example MCP Server URL 欄には仮の URL を入力しないでください。
Template MCP Server URL では、ワークスペースの管理者が後から設定する部分にプレースホルダーを使用してください。プレースホルダーには {name} 形式を使用します。名前は英字で始め、英字、数字、アンダースコアのみを使用してください。各プレースホルダーには異なる名前を付けてください。
各プレースホルダーを実際の値に置き換えたときに、テンプレートから得られる URL が Example MCP Server URL に指定した URL と一致することを確認してください。
例:
Example MCP Server URL: https://acme.example.com/mcp
Template MCP Server URL: https://{workspace}.example.com/mcp
審査への提出
前提条件を満たしたら、プラグイン提出ポータルからプラグインを審査に提出できます。
審査の申請手順
プラグイン提出ポータルで次の手順を実行してください。
- MCP サーバーの詳細を入力します。OAuth を選択した場合は OAuth 認証情報も入力します。入力後、Scan Tools を選択します。
- 提出フォームの必須項目を入力し、すべての確認欄にチェックを入れます。プラグインの名前、ロゴ、説明、会社のウェブサイトとプライバシーポリシーの URL、MCP とツールに関する情報、テスト用のプロンプトと応答、ローカライズに関する情報が必要です。
- Submit for review を選択します。
ツールのスキャン時に保存されるメタデータ
Scan Tools を選択すると、ダッシュボードが MCP エンドポイントの公開するメタデータをドラフトに取り込みます。対象には、ツール名、タイトル、説明、入力スキーマと出力スキーマ、セキュリティスキーム、_meta フィールド、ツールのアノテーション、CSP 設定を含むリンク先の UI リソースのメタデータ、MCP サーバーの instructions が含まれます。ダッシュボードには、サーバーが返したアノテーションの値が表示されます。
提出時には、サーバーが返したアノテーションの値が各ツールの動作に合っている理由を説明してください。説明を記入してもアノテーションは上書きされません。たとえば、サーバーが readOnlyHint: false を返す場合、理由欄に「実質的に読み取り専用」と記入しても、ツールが読み取り専用として扱われることはありません。実際に読み取り専用のツールであれば、サーバー側のアノテーションを readOnlyHint: true に変更してデプロイしてください。その後、もう一度 Scan Tools を選択し、値が更新されたことを確認してから提出してください。
各組織は、MCP を利用する異なるプラグインを複数公開できます。MCP サーバー連携ごとに、同時に公開できるのは 1 バージョン、同時に審査を受けられるのも 1 バージョンです。提出後に変更が必要になった場合は、Cancel Review を選択して申請を取り下げ、同じバージョンのドラフトを再提出してください。
現在、EU データレジデンシーを使用するプロジェクトでは、MCP サーバーを含むプラグインを審査に提出できません。グローバルデータレジデンシーを使用するプロジェクトを利用してください。該当するプロジェクトがない場合は、OpenAI ダッシュボードから現在の組織に新しいプロジェクトを作成してください。
審査と承認
提出したプラグインは審査待ちのキューに入ります。審査状況はダッシュボードで確認でき、状況が変わるたびにメールで通知されます。
審査とチェック
OpenAI は、プラグインの動作と、ポリシーに抵触する可能性の有無を確認するため、自動スキャンや手動審査を行うことがあります。
承認、却下、異議申し立て
プラグインが承認されると、メールで通知されます。承認後は、プラグイン提出ポータルから公開できます。
MCP サーバー、ツール、または UI が原因でプラグインが却下または削除された場合は、どのチェックに合格しなかったかが通知されます。必要な変更を行った後、プラグインを審査に再提出できます。決定に異議を申し立てる場合は、受け取ったメールに返信し、異議の根拠を明示するとともに、審査に役立つ新しい情報があれば記載してください。
サポートへの問い合わせ
提出前、提出中、提出後に疑問が生じ、ドキュメントで解決できない場合は、OpenAI サポートにお問い合わせください。サポートチームがプラグインを特定できるよう、プラグイン提出ポータルに表示される ID を記載してください。
審査と承認に関するよくある質問
審査にはどのくらい時間がかかりますか?
審査体制を整備、拡充しているため、所要時間は一定ではありません。審査を早める依頼には対応できないため、そのような依頼でサポートに問い合わせることはお控えください。
よくある却下理由とその対処方法を教えてください。
- 提出された MCP の URL やテスト用の認証情報では、MCP サーバーに接続できません。
- 認証が必要なサーバーでは、審査チームが追加の設定なしでデモアカウントにログインできるようにしてください。
- 提出した URL と認証情報が正しく、ログインに MFA が不要であることを確認してください。SMS コードの入力を求める場合や、SMS、メール、その他の方法で追加の確認を求めるシステムを経由してログインする場合も、要件を満たしません。
- 提出した認証情報でログインできることを確認してください。テストは、社内ネットワーク、ローカルエリアネットワーク、その他の内部ネットワークの外から行ってください。
- 認証情報の有効期限が切れていないことを確認してください。
- テストケースの一部またはすべてで、正しい結果が得られませんでした。
- すべてのテストケースを見直し、1 件ずつ再実行して、出力が期待した結果と一致することを確認してください。UI がある場合は、コンテンツや画像の読み込みエラーなど、UI に問題がないことも確認してください。
- テキスト出力がユーザーのリクエストに沿っており、個人を特定できる識別子など、リクエストに無関係な情報を含んでいないことを確認してください。
- プラグインを提供する ChatGPT と Codex の対応環境すべてで、すべてのテストケースが合格することを確認してください。
- ツールごとに期待する動作を具体的に定め、実際の出力と照合して相違点を修正してください。ユーザーの入力に即した結果を返し、プラグインが仕様どおり確実に動作するようにしてください。
- 必要に応じて、再提出時にテストケースと期待する応答を修正し、解釈に曖昧さが残らないようにしてください。
- プラグインが、プライバシーポリシーに記載のない種類のユーザー関連データを返しています。
- ChatGPT で実際の利用を想定したリクエストをいくつか実行し、MCP ツールの応答を点検してください。ネストされたフィールドやデバッグ用ペイロードを含め、サーバーが返すすべてのユーザー関連フィールドを洗い出してください。ツールが返す情報はリクエストの処理に不可欠なものに限り、不要な個人識別情報(PII)、テレメトリや内部識別情報(セッション ID、トレース ID、リクエスト ID、タイムスタンプ、内部アカウント ID、ログなど)、認証用の秘密情報(トークン、キー、パスワード)は取り除いてください。
- 公開中のプライバシーポリシーの更新も検討してください。収集、処理、または返却する個人データの種類をすべて明記し、それぞれの目的を説明します。ただし、不要なフィールドはポリシーに追記するのではなく、応答から削除してください。
- ユーザー識別子が不可欠な場合は、ユーザーが明示的に求め、かつその意図に直接関係する場合にのみ返してください。既定の動作として識別子を検索し、そのまま応答に含めないでください。
- ツールのヒントアノテーションと実際の動作が一致していないようです。
- readOnlyHint: ツールがデータの取得、検索、一覧表示だけを行い、何も変更しない場合は
trueに設定してください。作成、更新、削除が可能な場合、メールやメッセージの送信、ジョブの実行、タスクのキューへの追加、ログの書き込み、ワークフローの開始などのアクションを起動できる場合、またはその他の方法で状態を変更できる場合はfalseに設定してください。 - 破壊的操作のヒント: ツールが取り消せない結果をもたらす可能性がある場合は、破壊的操作を示すアノテーションを
trueに設定してください。たとえば、削除、上書き、取り消せないメッセージ送信や取引、アクセス権の取り消し、破壊的な管理操作が該当します。一部のモードでのみ発生する場合、デフォルトのパラメータで発生する場合、間接的な副作用として発生する場合も対象です。理由欄には、何がどの条件で取り消せなくなるのかを明記し、確認手順、ドライランのオプション、対象範囲の制限などの保護策も説明してください。該当しない場合はfalseに設定してください。 - openWorldHint: ツールが公開インターネットにアクセスする場合や、アクセス先があらかじめ限定されていない外部の相手やサービスとやり取りする場合は
trueに設定してください。ウェブ検索などの読み取り専用ツールのほか、公開プラットフォームへの投稿、外部の宛先へのメッセージ送信、コンテンツの公開、コードのプッシュ、フォームの送信を行う書き込みツールも対象です。アクセス先が特定の非公開アカウントやワークスペース内に限られる場合は、そのサービスが外部でホストされていてもfalseに設定してください。
- readOnlyHint: ツールがデータの取得、検索、一覧表示だけを行い、何も変更しない場合は
公開と配信
プラグインの公開
プラグインが承認されたら、プラグイン提出ポータルで Publish を選択して公開できます。
ユーザーがプラグインを見つける方法
公開後、ユーザーは次の方法で ChatGPT と Codex に共通のディレクトリからプラグインを見つけることができます。
- ディレクトリのプラグイン掲載ページへの直接リンクを開く
- プラグイン名で検索する
実際の利用場面で高い有用性とユーザー満足度が認められたプラグインは、ディレクトリ内で目立つ位置に掲載されたり、ユーザーに積極的に提案されたりする場合があります。ただし、公開時点でこうした配信の対象になるプラグインはごく一部です。開発者から配信の拡大を申請することはできません。
公開と配信に関するよくある質問
プラグインが承認されるとどうなりますか? プラグインディレクトリに自動で掲載されますか?
プラグインが承認された後、プラグイン提出ポータルから任意のタイミングで公開できます。共通のプラグインディレクトリに掲載されるには、公開操作が必要です。
ディレクトリにプラグインが表示されないのはなぜですか?
ディレクトリの主要ページに掲載されるのは、OpenAI が配信拡大の対象に選んだプラグインのみです。公開されていることを確認するには、公開時の正確な名前で検索するか、プラグイン提出ポータルからディレクトリの掲載ページの URL を開いてください。
プラグインについてプレスリリースを出したり、一般向けに告知したりするにはどうすればよいですか?
プラグインの公開についてプレスリリースを出したり、一般向けに告知したりする前に、press@openai.com に連絡し、OpenAI の広報チームと調整してください。
公開後のメンテナンス
公開済み MCP メタデータのバージョン管理
MCP サーバーが公開するメタデータは、プラグインのバージョン管理対象となる API 契約として扱ってください。プラグイン提出ポータルで MCP エンドポイントをスキャンすると、OpenAI は取得したメタデータをそのバージョンのドラフトとともに保存します。そのバージョンを提出すると、保存されたスナップショットが審査対象になります。公開後は、継続審査を通じてツール定義が更新されるため、ツール定義を更新するたびに新しいプラグインバージョンを用意する必要はありません。ツールの呼び出しと UI リソースの取得には、引き続き稼働中の MCP サーバーが使用されます。
継続審査とツールの更新
OpenAI は定期的に MCP サーバーからツールの情報を取得し、説明、スキーマ、アノテーションを含めて公開済みの定義と比較します。
- 削除したツール: スキャンで削除を検出した時点で、自動チェックを待たずに公開中のツール一覧から削除されます。
- 新しいツール: 自動チェックに合格すると利用可能になります。それまではユーザーは利用できません。
- 変更したツール: 更新後の定義が自動チェックに合格するか、スキャンでツールの削除が検出されるまで、以前の定義が引き続き使用されます。更新後の定義が合格すると、以前の定義は自動的に置き換えられます。
合否はツールごとに判定されます。たとえば、create_note を追加し、search が folder パラメータを受け取れるように変更し、archive_note を削除したとします。次回のスキャンで archive_note は直ちに一覧から削除されます。create_note が合格し、search の更新が保留された場合、ユーザーは create_note を利用できるようになりますが、search には引き続き folder のない以前の定義が使われます。
更新が保留されている間は、サーバーが公開中の定義と互換性を保つようにしてください。OpenAI が保持するのは定義であり、サーバー実装のコピーは保存しません。チェックが完了するまでは、問題が検出されていなくても更新は承認されません。
その他の変更
変更の種類に応じて、次の手順でリリースしてください。
| 変更内容 | 必要な対応 | ユーザーに変更が反映されるタイミング |
|---|---|---|
ツールのセキュリティスキーム、ツールの _meta フィールド、UI リソースへの参照、またはコンテンツセキュリティポリシー(CSP)の設定を含むリンク先リソースのメタデータ |
変更をデプロイしてください。これらのフィールドは継続審査でツール定義とともに審査されます。 | 更新後のツール定義が自動チェックに合格した後。 |
MCP サーバーの instructions |
変更をデプロイしてください。複数のツールで共有する指示は、影響を受けるツールとともに審査されます。 | 必要なチェックが完了し、既存ツールの更新が保留されず、指示にも問題が見つからなかった場合。 |
| 公開済みの UI リソースと同じ URI から配信する、後方互換性のあるコンテンツの更新 | 更新したコンテンツをデプロイしてください。URI と公開済みの契約に対する互換性が維持される場合は、新しいバージョンのスキャン、提出、公開は不要です。 | デプロイ後。ChatGPT はキャッシュされたリソースの内容を最長 1 時間配信し続ける場合があります。 |
サーバーのみの修正、稼働中のツールが返す結果(結果の _meta を含む)の変更、または業務データの変更 |
サーバーの変更をデプロイしてください。公開済みの契約が維持される場合は、新しいバージョンのスキャン、提出、公開は不要です。 | デプロイ後、稼働中のエンドポイントを通じて反映されます。 |
MCP サーバーのオリジン(scheme、hostname、port のいずれか) |
オリジンを変更する場合は、新しいプラグインを作成し、スキャン、提出、審査、公開の手順を完了してください。エンドポイントのパスのみを変更する場合は、通常の新バージョンのリリース手順に従ってください。 | 新しいプラグインまたは承認済みのバージョンを公開した後。 |
サーバーの変更は、スキャンで検出され、承認される前に有効になります。その間も、既存の入力スキーマと公開済みの各 UI リソースの URI が引き続き機能するようにしてください。デプロイによって公開中の契約との互換性が失われた場合は、審査を待たずにサーバーの変更をロールバックしてください。
新しいバージョンの審査申請
提出済みのプラグイン情報や取り込み済みのスキルを変更するには、既存のプラグインで新しいバージョンのドラフトを作成し、審査に再提出してください。ツールの継続審査とは別に、この手順が必要です。再提出のたびに新たな審査が始まります。リリースノートには変更内容を記載してください。
バージョン間で MCP サーバーのオリジン(scheme、hostname、port)を変更することはできません。別のオリジンを使用するには、新しい MCP サーバーのオリジンを指定して、新しいプラグインとして提出してください。エンドポイントのパスは、既存のプラグインの新しいバージョンで変更できます。
OpenAI は更新後のプラグインのメタデータを再審査し、更新を承認したか却下したかを、メールとプラグイン提出ポータルでお知らせします。却下された場合は、修正して再提出するか、決定に異議を申し立てることができます。
再提出したバージョンが承認されると、更新を公開できます。公開すると、以前のプラグインバージョンが新しいバージョンに置き換わります。
提出後、承認前にプラグインをさらに変更し、新しいバージョンを審査に提出したい場合は、プラグイン提出ポータルで審査をキャンセルし、再提出してください。
公開済みのメタデータのバージョン変更とプラグインの削除
公開済みのプラグインバージョンを置き換えるには、プラグイン提出ポータルから承認済みの新しいバージョンを直接公開してください。新しいバージョンの審査中は、現在のバージョンを公開したままにしてください。承認済みのバージョンを公開すると現在のバージョンが置き換わるため、先に現在のバージョンを非公開にする必要はありません。
現在のバージョンを非公開にするのは、プラグインの一般公開を取りやめる場合に限ってください。代わりのバージョンが公開されていない状態で現在のバージョンを非公開にすると、プラグインは利用できなくなります。
組織と ChatGPT、Codex からプラグインを削除するには、プラグイン提出ポータルで削除してください。
メンテナンス要件
プラグインが利用されていない場合、動作が不安定な場合、または要件を満たしていない場合は、削除されることがあります。OpenAI は、法的な懸念、セキュリティ上の懸念、ポリシー違反など、理由を問わず、いつでも予告なくプラグインを却下したり、サービスから削除したりすることがあります。
公開後のメンテナンスに関するよくある質問
プラグインが有害である、または誤解を招くとしてユーザーから報告された場合はどうなりますか?
OpenAI はユーザーからの報告を確認し、MCP サーバー、ツール、UI を含むプラグインを審査または調査することがあります。ポリシーに違反するプラグインは、利用が制限されたり、削除されたりする場合があります。削除やその他の措置については、このページで説明している手順に従って異議を申し立てることができます。定期的にフィードバックを確認して対応し、問題が見つかった場合はプラグインを更新してください。
更新の審査にはどのくらい時間がかかりますか?
新規提出時の審査と同様に、更新の審査にかかる時間の目安はご案内できません。