インストールしたプラグイン全体をテストする前に、各機能をテストします。プラグインに MCP サーバーが含まれる場合は、まず開発者モードでサーバーに接続して評価します。その後、スキルを含めてプラグインをパッケージ化し、一連の動作をテストします。スキルのみのプラグインでは、最初のセクションを省略できます。
リリース間で動作を比較できるよう、開発中は評価用のプロンプトと結果を保存しておきます。
MCP サーバーのテスト(任意)
エンドポイントの準備
次の点を確認します。
- 公開 HTTPS エンドポイントまたは セキュア MCP トンネル経由で MCP サーバーにアクセスできること
- 公開エンドポイントが、通常は
/mcpでストリーミング可能な HTTP をサポートしていること、または トンネルが設定済みの stdio または HTTP MCP サーバーにアクセスできること - ツールの名前、説明、スキーマ、アノテーションが揃っていること
- アカウントが必要なツールで認証情報の検出が機能すること
セキュア MCP トンネルを使うと、サーバーをインターネットに公開せずに、 開発者モードでプライベート MCP サーバーに接続できます。開発用トンネルや その他の HTTPS 転送サービスを使って、ローカルテスト用のエンドポイントを用意することもできます。 これらのテスト方法は、 プラグインの提出に必要な公開 HTTPS エンドポイントの代わりにはなりません。
MCP サーバーの検査
MCP Inspector を使って、 ツールの一覧取得と呼び出しを直接行います。
npx @modelcontextprotocol/inspector@latest
代表的な入力、エッジケース、識別子が欠けている場合、結果が空の場合について、各ツールをテストします。スキーマの検証、認証エラー、アノテーション、確認時の動作、モデルが読み取れる結果を検証します。
開発者モードの有効化
ChatGPT で次の操作を行います。
- 設定を開きます。
- セキュリティとログインを選択します。
- 開発者モードをオンにします。
開発者モードを利用できるかどうかは、アカウントやワークスペースのポリシーによって異なる場合があります。
MCP サーバーの追加
- ChatGPT プラグインにアクセスします。
- プラスボタンを選択します。
- ユーザーに表示する名前と説明を入力します。
- 接続で接続方法を選択します。
- 公開エンドポイントの場合は、
/mcpパスを含む MCP サーバーの URL を入力します。 - セキュア MCP トンネルの場合は、 トンネルを選択し、利用可能なトンネルを選ぶか、
その
tunnel_idを入力します。
- 公開エンドポイントの場合は、
- 接続を作成します。
- サーバーから検出されたツールとメタデータをレビューします。
ChatGPT が接続できない場合は、MCP Inspector で公開 HTTPS エンドポイントを検証するか、
トンネルとワークスペースの関連付け、および tunnel-client の稼働状況を確認します。
通信、初期化、スキーマ、認証のエラーを解決してから先に進みます。
ツール選択の確認
新しい会話を開始し、ツールメニューから MCP 接続を追加します。次のケースを含む評価セットを作成します。
- 特定のツールを呼び出すべき直接的なリクエスト
- 同じ目的を間接的に表現したリクエスト
- 以前の結果に含まれる識別子を再利用する追加のリクエスト
- 認可や確認を必要とする書き込み操作
- ツールを呼び出すべきではない、未対応のリクエスト
各リクエストについて、選択されたツール、引数、結果、エラー、確認時の動作を記録します。ツールの名前、説明、スキーマ、アノテーションを変更するたびに、評価セットを再実行します。
サーバーが任意の UI を返す場合は、コンポーネントと、モデルが読み取れる結果の両方をテストします。
API Playground でのテスト
リクエストとレスポンスの生ログを確認するには、 API Playground を開きます。
- ツール → 追加 → MCP サーバーを選択します。
- HTTPS エンドポイントを入力して接続します。
- テスト用のプロンプトを実行し、リクエストとレスポンスのデータを確認します。
メタデータの更新
ツールの名前、説明、スキーマ、アノテーション、認証、UI リソースを変更した後は、次の操作を行います。
- MCP サーバーをデプロイするか、再起動します。
- ChatGPT プラグインで接続を開きます。
- 更新を選択します。
- サーバーが提供するメタデータに変更が反映されていることを確認します。
- 新しい会話を開始し、影響を受けるテストを再実行します。
この更新手順は、開発者モードで接続された MCP サーバーに適用されます。 公開済みのプラグインでは、ツールの更新に 継続的なレビュー を使用します。提出済みのプラグイン情報やインポート済みのスキルを変更する場合は、 引き続き新しいバージョンの作成、レビュー、公開が必要です。
プラグインをパッケージ化する前に、次の点を確認します。
- ツール一覧が、ドキュメントに記載された機能と一致していること
- 構造化された結果が、各ツールで宣言された出力スキーマと一致していること
- 認証に失敗した場合に、役立つエラーが返されること
- ツールを使うべきプロンプトでは期待どおりのツールが選択され、使うべきでないプロンプトでは選択されないこと
- 任意の UI がコンソールエラーなしで表示され、状態が正しく復元されること
プラグイン全体のテスト
MCP サーバーの動作を確認したら、ローカルソースからプラグイン全体をパッケージ化してインストールします。スキルのみのプラグインでは、この手順から始めます。
- スキル、マニフェスト、 該当する場合は MCP サーバー接続を含めて、プラグインをパッケージ化します。
- プラグインをローカルのマーケットプレイスに追加し、プラグインディレクトリからインストールします。
- プラグインを有効にした状態で、新しい会話を開始します。
- プラグインのユースケース一覧から代表的なリクエストを選んで実行します。
次の項目を含む評価セットを作成します。
- スキルを使用すべき直接的なリクエスト
- 同じ目的を間接的に伝えるリクエスト
- 以前の結果に依存する追加のリクエスト
- プラグインを使用すべきではないネガティブテスト用のリクエスト
- プラグインが意図的にサポート対象外としている境界ケース
リクエストごとに、プラグインがスキルの指示に従い、想定したリソースを使用し、必要な手順をすべて完了して、有用な結果を生成することを確認します。手順の抜け、不要な起動、結果の不整合があれば記録します。
MCP サーバーを含むプラグインでは、スキルが適切なツールを呼び出すこと、ツールの結果がワークフローに返されること、インストール後も認証が機能することも確認します。また、ユーザーがスキルとツールを組み合わせた各ワークフローを最初から最後まで完了できることを確認します。
提出前に、次の点を確認します。
- 各スキルが想定したリクエストで起動すること
- 似た表現のリクエストに対して一貫した動作をすること
- サポート対象外のリクエストでプラグインが起動しないこと
- インストール後に同梱ファイルや参照先を正しく解決できること
- プラグインの開始用プロンプトが、そのプラグインで完了できるワークフローを示していること
- MCP サーバーを含むプラグインでは、同梱のスキルとツールが意図どおりに連携すること