アプリを構築する¶
アプリはプラグインモデルの一部です。プラグインは、ユーザーが見つけ、インストールし、提出し、公開するパッケージです。アプリは、そのパッケージ内にある MCP 対応の機能です。
Apps SDK は、MCP 対応アプリ向けの ChatGPT アプリ開発フレームワークです。MCP を基盤としており、サーバーがツールを公開して構造化データを返します。UI が必要な場合は、Apps SDK の規約により MCP UI リソースを登録し、ChatGPT 内でそれらをツールに接続できます。
プラグインでサービスへの接続、ツールの公開、ユーザーの認証、または MCP サーバーを介したアクションの実行が必要な場合は、アプリを構築します。
アプリの構築モデル¶
アプリには次の要素を含められます。
- MCP サーバー: サーバーはツールを定義し、認証を処理し、構造化データを返し、統合の実際の動作を適用します。MCP サーバーを構築するを参照してください。
- ツールのメタデータとアノテーション: 信頼性の高いモデルの動作、検出、レビューに必要です。ツール名、説明、スキーマ、
readOnlyHint、openWorldHint、destructiveHintは、ツールが実際に行う処理と一致させる必要があります。記述子フィールドとアノテーションの詳細については、Apps SDK リファレンスを参照してください。 - オプションの MCP UI: ChatGPT 内でユーザーが構造化された情報を確認、比較、編集、承認、または移動する必要がある場合に便利です。ツール呼び出しとモデルの応答で処理を完了できる場合、カスタム UI は必要ありません。ツール呼び出しとモデルの応答だけでは不十分な場合は、Apps SDK の UI リソースを使用して構築します。
MCP ファーストで構築する¶
UI を設計する前に、アプリの機能を定義します。
- アプリがサポートすべきユーザーワークフローを特定します。
- それらのワークフローに必要な MCP ツールを定義します。
- 明確なツール名、説明、入力スキーマ、出力スキーマを記述します。メタデータ最適化ガイドを使用して、検出とモデルによる選択を改善します。
- すべてのツールに正確な安全性アノテーションを付け、その後、書き込みアクション、データ処理、ネットワークアクセスについてセキュリティとプライバシーに関するガイダンスを確認します。
- 認証が必要なデータまたはアクションにのみ、認証を追加します。
- プラグインにパッケージ化する前に、ChatGPT の開発者モードからアプリをテストします。
アプリの体験が大幅に向上する場合は UI を追加する¶
Apps SDK クイックスタートでは、オプションの UI コンポーネントを備えたシンプルな MCP 対応アプリの構築方法を説明しています。Apps SDKを使用すると、MCP 対応アプリ向けの MCP UIを構築できます。これはオプションです。ChatGPT 内で埋め込みコンポーネント、モーダル、全画面ビュー、その他のカスタム操作がアプリに必要な場合に使用してください。UI 固有のパターンについては、MCP UI を構築するを参照してください。
バナー広告やブランド掲載を表示するだけの目的で UI を追加しないでください。UI は、アプリの確認、編集、比較、承認、または移動を容易にすることで、ユーザーのワークフローを大幅に改善する必要があります。
UI を追加する場合でも、ツールをレンダリングレイヤーから分離してください。ツールは引き続き有用な構造化データとモデルが読み取れる結果を返し、UI コンポーネントは表示とインタラクションに集中する必要があります。データ処理と UI レンダリングを分離するを参照してください。
アプリをプラグインとしてパッケージ化する¶
開発者モードでアプリが動作したら、ユーザーがインストールできるようにプラグインへパッケージ化します。
- プラグインフォルダーを作成またはスキャフォールドします。プラグインを構築するを参照してください。
- プラグインマニフェストにアプリの参照を追加します。
- ChatGPT がアプリと併せて繰り返し可能なワークフローに従う必要がある場合は、同梱スキルを追加します。
- プラグインをローカルでテストします。
- Apps SDK のアプリガイドラインを確認し、一般公開の準備ができたら、プラグインの一部としてレビューに提出します。プラグインを提出するを参照してください。