For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme
Codex

Codex use case

ChatGPT 向けのアプリ開発

用途に合わせて、機能を絞り込んだ ChatGPT アプリを作ります。

Difficulty Advanced
Time horizon 1h

ユーザーが達成したいことを 1 つに絞り、それを実現する ChatGPT アプリを作ります。ツールを定義し、MCP サーバーのひな形を作成します。必要に応じてウィジェットのひな形も用意します。アプリを ChatGPT に接続し、一連の操作で目的を達成できるようになるまで、テストと改善を繰り返します。

Best for

  • ユーザーの目的に合わせた、初めての ChatGPT アプリの設計
  • 必要な範囲に絞ったひな形の作成(MCP サーバー、ツールのメタデータ、必要に応じてウィジェット)
  • ローカルの HTTPS 環境でのテストと ChatGPT 上でのカスタム MCP サーバーの動作確認を短いサイクルで繰り返す開発

Contents

    ← All use cases

    ChatGPT 向けのアプリ開発

    用途に合わせて、機能を絞り込んだ ChatGPT アプリを作ります。

    ユーザーが達成したいことを 1 つに絞り、それを実現する ChatGPT アプリを作ります。ツールを定義し、MCP サーバーのひな形を作成します。必要に応じてウィジェットのひな形も用意します。アプリを ChatGPT に接続し、一連の操作で目的を達成できるようになるまで、テストと改善を繰り返します。

    Advanced
    1h

    ユーザーが達成したいことを 1 つに絞り、それを実現する ChatGPT アプリを作ります。ツールを定義し、MCP サーバーのひな形を作成します。必要に応じてウィジェットのひな形も用意します。アプリを ChatGPT に接続し、一連の操作で目的を達成できるようになるまで、テストと改善を繰り返します。

    Advanced
    1h

    Best for

    • ユーザーの目的に合わせた、初めての ChatGPT アプリの設計
    • 必要な範囲に絞ったひな形の作成(MCP サーバー、ツールのメタデータ、必要に応じてウィジェット)
    • ローカルの HTTPS 環境でのテストと ChatGPT 上でのカスタム MCP サーバーの動作確認を短いサイクルで繰り返す開発

    Skills & Plugins

    • ChatGPT アプリの最新の開発手順に沿って、ツールを設計し、MCP リソースを接続します。
    • Codex がコードを書いたり、アーキテクチャを提案したりする前に、Apps SDK の最新の公式ガイドを取得します。
    • 厳選されたスキルと Vercel 公式の MCP サーバーを使い、Vercel エコシステムの開発ガイドを Codex で活用します。
    Skill Why use it
    ChatGPT Apps ChatGPT アプリの最新の開発手順に沿って、ツールを設計し、MCP リソースを接続します。
    OpenAI Docs Codex がコードを書いたり、アーキテクチャを提案したりする前に、Apps SDK の最新の公式ガイドを取得します。
    Vercel 厳選されたスキルと Vercel 公式の MCP サーバーを使い、Vercel エコシステムの開発ガイドを Codex で活用します。

    Starter prompt

    $chatgpt-apps と $openai-docs を使って、このリポジトリで [use case] 向けの ChatGPT アプリを設計してください。 要件: - まず、ユーザーが達成したいことを 1 つに絞ってください。 - ツールを 3〜5 個提案し、それぞれの名前、説明、入力、出力を明確にしてください。 - v1 にウィジェットが必要か、データを返すだけで始められるかを判断し、推奨案を示してください。 - MCP サーバーには TypeScript を、ウィジェットには React を優先してください。 - 認証、デプロイ、テストの要件を明示してください。 出力: - ツールの設計案 - ファイル構成案 - 検証の基準となるプロンプト集 - リスクと未解決の疑問点
    $chatgpt-apps と $openai-docs を使って、このリポジトリで [use case] 向けの ChatGPT アプリを設計してください。 要件: - まず、ユーザーが達成したいことを 1 つに絞ってください。 - ツールを 3〜5 個提案し、それぞれの名前、説明、入力、出力を明確にしてください。 - v1 にウィジェットが必要か、データを返すだけで始められるかを判断し、推奨案を示してください。 - MCP サーバーには TypeScript を、ウィジェットには React を優先してください。 - 認証、デプロイ、テストの要件を明示してください。 出力: - ツールの設計案 - ファイル構成案 - 検証の基準となるプロンプト集 - リスクと未解決の疑問点

    開発するプラグインの構成

    MCP を利用するプラグインには、次の 3 つの構成要素があります。

    • MCP サーバー。ツールを定義し、データを返し、認証やアクセス制御を行います。UI リソースがある場合は、その参照先を ChatGPT に伝えます。
    • 任意のウェブコンポーネント。ChatGPT の iframe 内に表示されます。React を使っても、HTML、CSS、JavaScript だけでも構築できます。
    • モデル。開発者が指定したメタデータに基づいて、プラグインのツールをいつ呼び出すかを判断します。

    これらの構成要素にまつわる定型的な開発作業を任せると、Codex を効果的に活用できます。

    • 公開するツールとメタデータの設計
    • サーバーとウィジェットのひな形の作成
    • ローカルで起動するためのスクリプトの設定
    • 認証とデプロイに必要な変更の段階的な実装
    • プラグインが ChatGPT で動作することを繰り返し確認できる検証手順の作成

    プラグイン開発に Codex が適している理由

    • MCP を利用するプラグインは、サーバー、任意の UI、モデルが判断して行うツール呼び出しに分けて開発できます。
    • Codex へのプロンプトは、タスクが明確で、範囲が限定され、結果を容易に検証できるときに最も効果を発揮します。プラグイン開発はこの条件によく合います。
    • スキルと AGENTS.md を使うと、繰り返し使える指示やプロジェクトのルールを Codex に伝え、それに沿って作業を進められます。

    スキルのインストール方法と使い方については、スキルのドキュメントを参照してください。

    使い方

    前提条件

    • 製品全体をチャットに移植しようとせず、まずはユーザーが達成したい主な目的を 1 つに絞ります。
    • 技術スタックを先に決めます。サーバーには TypeScript または Python を使います。ウィジェットには React を使うか、HTML、CSS、JavaScript だけで構築します。
    • ngrok や Cloudflare Tunnel など、開発中に HTTPS で接続する方法を決めます。
    • 一部の設定では、MCP サーバーへの接続に以前の名称が使われています。ローカルでテストするときは、その名称を登録済みのサーバーを指すものとして読み替えてください。
    1. プラグインで達成したい目的を具体的なもの 1 つに絞り、名前、説明、入力、出力が明確なツールを 3~5 個提案するよう Codex に依頼します。
    2. 初版はデータを返すだけで十分か、ウィジェットが必要かを判断します。依存関係を追加する前に、リポジトリの既存の実装パターンに沿って MCP サーバーと、必要に応じてウィジェットのひな形を作成します。
    3. ローカルの MCP サーバーを起動して HTTPS でアクセスできるようにし、ChatGPT のカスタム MCP サーバーの追加から接続します。ツールの利用を直接依頼する場合、間接的に必要とする場合、呼び出すべきでない場合を含む少数のプロンプトでテストします。
    4. ChatGPT 内で基本の読み取りフローが安定して動作するまで、メタデータ、状態の扱い、structuredContent と _meta のペイロードを調整します。
    5. ユーザー固有のデータや書き込み操作で必要な場合に限り、OAuth 2.1 を追加します。匿名で利用するフローや読み取り専用のフローはシンプルに保ちます。
    6. 安定した /mcp エンドポイントを持つプレビュー環境をホスティングし、ストリーミングと UI アセットの配信を検証します。プラグインを共有または提出する前に、公開前のチェックリストを確認します。

    プロンプトの例

    この開発手順で効果的なプロンプトには、次の要素が含まれます。

    • 明確な目的を 1 つ。プラグインを使ってユーザーが ChatGPT 内で何をできるようにしたいかを伝えます。
    • 具体的な技術スタック。サーバーには TypeScript と Python のどちらを使うか、ウィジェットには React を使うか、軽量な構成にするかを指定します。
    • 各ツールの役割。ツールごとに役割を 1 つに絞り、少数のツールを提案または実装するよう Codex に依頼します。
    • 認証要件。初版は匿名で利用できればよいか、アカウント連携や書き込み操作が必要かを明示します。
    • ローカル開発時の接続方法。ChatGPT から HTTPS でテストする際に使うトンネルやホスティング方法を指定します。
    • 検証手順。実行するコマンド、テストに使うプロンプト、結果を確認するために報告してほしい内容を Codex に伝えます。

    計画、実装、認証、デプロイ、提出、仕上げを 1 つの長いプロンプトで一度に依頼するのは避けましょう。作業を小さな段階に分けて進めます。

    ひな形を作成する前のプラグイン設計

    $chatgpt-apps と $openai-docs を使って、このリポジトリで [use case] 向けに MCP を利用するプラグインを設計してください。 要件: - ユーザーが達成したい主な目的を 1 つに絞ってください。 - 名前、説明、入力、出力が明確なツールを 3~5 個提案してください。 - 初版にウィジェットが必要か、まずはデータを返すだけで十分かを判断し、推奨案を示してください。 - MCP サーバーには TypeScript を、ウィジェットには React を優先してください。 - 認証、デプロイ、テストの要件を明示してください。 出力: - ツールの設計案 - ファイル構成案 - 正しい動作の基準となるプロンプト集 - リスクと未解決の疑問点

    動作する初版のひな形の作成

    $chatgpt-apps と $openai-docs を使って、MCP を利用するこのプラグインの初版のひな形を作成してください。 技術スタック: - TypeScript による MCP サーバー - React ウィジェット - Vite によるビルド - ngrok を使ったローカル環境への HTTPS 接続 制約: - プラグインの機能は、読み取りフロー 1 つと書き込みフロー最大 1 つに絞ってください。 - モデルには簡潔な structuredContent を返し、ウィジェットだけが使うデータは _meta に格納してください。 - ツールのハンドラーは冪等にしてください。 - 依存関係を追加する前に、リポジトリの既存の実装パターンを再利用してください。 検証: - ローカルサーバーを起動してください。 - ChatGPT の「カスタム MCP サーバーの追加」を使って MCP サーバーに接続する方法を説明してください。 - テストに使うプロンプトを、そのまま入力できる形で列挙してください。

    基本フローの動作確認後の認証の追加

    $chatgpt-apps と $openai-docs を使って、このプラグインの MCP サーバーに認証を追加してください。 要件: - 可能であれば、読み取り専用のツールは匿名で利用できるようにしてください。 - OAuth 2.1 は、ユーザー固有のデータを扱う場合や書き込み操作を行う場合にのみ追加してください。 - Auth0 や Stytch など、既存の ID プロバイダーを使ってください。 - スコープ、トークンの検証方法、ChatGPT でカスタム MCP サーバーをテストする手順を文書化してください。 出力: - 認証フローの概要 - サーバーの変更点 - 必要な環境変数 - エンドツーエンドのテスト計画

    プラグインのデプロイとレビューの準備

    $chatgpt-apps、$openai-docs、@vercel を使って、このプラグインをホスティング環境でプレビューできるようにしてください。 要件: - HTTPS でアクセスできる安定した /mcp エンドポイントを公開してください。 - /mcp でストリーミング応答が引き続き機能するようにしてください。 - ウィジェットのアセットが正しく配信されるようにしてください。 - メタデータ、ツールのヒント、プライバシー、テスト用プロンプトを確認するための公開前チェックリストを追加してください。 出力: - デプロイ計画 - プレビュー URL またはホスティングの手順 - レビュー用チェックリスト - 残っているリスク

    公開前の確認事項

    • プラグインの目的が、ユーザーにとってわかりやすいもの 1 つに絞られています。
    • ツールは少数に絞られ、それぞれのメタデータ、入力、出力が明示されています。
    • MCP サーバーがエンドツーエンドで動作し、簡潔な structuredContent を返します。ウィジェットだけが使うデータは _meta に格納されています。
    • ウィジェットが必要な場合は、ChatGPT 内に正しく表示されます。
    • カスタム MCP サーバーを ChatGPT に接続した状態で、ローカル環境での HTTPS 経由のテストを繰り返し実行できます。
    • ツールの利用を直接依頼する場合、間接的に必要とする場合、呼び出すべきでない場合を含む少数のプロンプトでテストし、いずれも会話の流れとツールのペイロードが想定どおりです。
    • 認証は、ユーザー固有のデータや書き込み操作で必要な箇所にのみ追加されています。
    • プラグインを共有または提出する前に、デプロイ計画と公開前レビューの両方で、メタデータ、ツールのヒント、プライバシー、テスト用プロンプトを確認しています。

    よくある落とし穴

    • 製品全体を ChatGPT に移植するよう Codex に依頼してしまう。ユーザーが達成したい主な目的を 1 つに絞り、ツール 3~5 個と役割を限定したウィジェット 1 つを依頼しましょう。
    • 最初から長いプロンプトで実装をまとめて依頼してしまう。計画、ひな形の作成、認証、デプロイ、レビューに分けて進めましょう。
    • ツールの入出力仕様が明確になる前に UI を実装してしまう。まず公開するツールとレスポンスのスキーマを設計し、その後でウィジェットを作成しましょう。
    • 公式ドキュメントによるグラウンディングを省いてしまう。$chatgpt-apps と $openai-docs を併用し、プラグイン開発の最新のガイダンスに沿ってひな形を作成しましょう。
    • メタデータを後回しにしてしまう。ツールとパラメーターの説明を早い段階で書き、それを使って一連のテスト用プロンプトを再実行しましょう。
    • 匿名で利用するフローや読み取り専用のフローを検証する前に認証を追加してしまう。まず基本のツール呼び出しが動作することを確認し、実際に必要なツールにだけ OAuth を追加しましょう。
    • ChatGPT 内でテストする前にプラグインを完成と判断してしまう。ChatGPT にカスタム MCP サーバーを接続し、ツールのペイロードを調べて、実際の会話の流れを確認しましょう。

    Tech stack

    Need

    ウィジェット用フレームワーク

    Default options

    React

    Why it's needed

    状態を持つウィジェットの第一候補です。特に、UI にフィルターや表が必要な場合や、操作が複数のステップにわたる場合に適しています。

    Need

    ホスティング

    Default options

    Vercel

    Why it's needed

    すばやくデプロイでき、プレビュー環境も利用できます。HTTPS は自動で設定され、MCP エンドポイントも手軽に公開できます。

    Need Default options Why it's needed
    ウィジェット用フレームワーク React 状態を持つウィジェットの第一候補です。特に、UI にフィルターや表が必要な場合や、操作が複数のステップにわたる場合に適しています。
    ホスティング Vercel すばやくデプロイでき、プレビュー環境も利用できます。HTTPS は自動で設定され、MCP エンドポイントも手軽に公開できます。

    Related use cases