コンテンツにスキップ

アプリを構築する

アプリはプラグインモデルの一部です。プラグインは、ユーザーが見つけ、インストールし、提出し、公開するパッケージです。アプリは、そのパッケージ内にある MCP 対応の機能です。

Apps SDK は、MCP 対応アプリ向けの ChatGPT アプリ開発フレームワークです。MCP を基盤としており、サーバーがツールを公開して構造化データを返します。UI が必要な場合は、Apps SDK の規約により MCP UI リソースを登録し、ChatGPT 内でそれらをツールに接続できます。

プラグインでサービスへの接続、ツールの公開、ユーザーの認証、または MCP サーバーを介したアクションの実行が必要な場合は、アプリを構築します。

アプリの構築モデル

アプリには次の要素を含められます。

  • MCP サーバー: サーバーはツールを定義し、認証を処理し、構造化データを返し、統合の実際の動作を適用します。MCP サーバーを構築するを参照してください。
  • ツールのメタデータとアノテーション: 信頼性の高いモデルの動作、検出、レビューに必要です。ツール名、説明、スキーマ、readOnlyHintopenWorldHintdestructiveHint は、ツールが実際に行う処理と一致させる必要があります。記述子フィールドとアノテーションの詳細については、Apps SDK リファレンスを参照してください。
  • オプションの MCP UI: ChatGPT 内でユーザーが構造化された情報を確認、比較、編集、承認、または移動する必要がある場合に便利です。ツール呼び出しとモデルの応答で処理を完了できる場合、カスタム UI は必要ありません。ツール呼び出しとモデルの応答だけでは不十分な場合は、Apps SDK の UI リソースを使用して構築します。

MCP ファーストで構築する

UI を設計する前に、アプリの機能を定義します。

  1. アプリがサポートすべきユーザーワークフローを特定します。
  2. それらのワークフローに必要な MCP ツールを定義します
  3. 明確なツール名、説明、入力スキーマ、出力スキーマを記述します。メタデータ最適化ガイドを使用して、検出とモデルによる選択を改善します。
  4. すべてのツールに正確な安全性アノテーションを付け、その後、書き込みアクション、データ処理、ネットワークアクセスについてセキュリティとプライバシーに関するガイダンスを確認します。
  5. 認証が必要なデータまたはアクションにのみ、認証を追加します。
  6. プラグインにパッケージ化する前に、ChatGPT の開発者モードからアプリをテストします。

アプリの体験が大幅に向上する場合は UI を追加する

Apps SDK クイックスタートでは、オプションの UI コンポーネントを備えたシンプルな MCP 対応アプリの構築方法を説明しています。Apps SDKを使用すると、MCP 対応アプリ向けの MCP UIを構築できます。これはオプションです。ChatGPT 内で埋め込みコンポーネント、モーダル、全画面ビュー、その他のカスタム操作がアプリに必要な場合に使用してください。UI 固有のパターンについては、MCP UI を構築するを参照してください。

バナー広告やブランド掲載を表示するだけの目的で UI を追加しないでください。UI は、アプリの確認、編集、比較、承認、または移動を容易にすることで、ユーザーのワークフローを大幅に改善する必要があります。

UI を追加する場合でも、ツールをレンダリングレイヤーから分離してください。ツールは引き続き有用な構造化データとモデルが読み取れる結果を返し、UI コンポーネントは表示とインタラクションに集中する必要があります。データ処理と UI レンダリングを分離するを参照してください。

アプリをプラグインとしてパッケージ化する

開発者モードでアプリが動作したら、ユーザーがインストールできるようにプラグインへパッケージ化します。

  1. プラグインフォルダーを作成またはスキャフォールドします。プラグインを構築するを参照してください。
  2. プラグインマニフェストにアプリの参照を追加します。
  3. ChatGPT がアプリと併せて繰り返し可能なワークフローに従う必要がある場合は、同梱スキルを追加します。
  4. プラグインをローカルでテストします。
  5. Apps SDK のアプリガイドラインを確認し、一般公開の準備ができたら、プラグインの一部としてレビューに提出します。プラグインを提出するを参照してください。