2025年10月に、ChatGPT内でサービスを提供できる仕組み「ChatGPT向けアプリ」がアナウンスされました。2026年1月現在利用できるアプリは数十個程度で、誰もが知っているような欧米系SaaSのみといった感じです。
アプリを公開して誰でも使えるようにするにはOpenAIの審査が必要ですが、自分のChatGPTアカウントに閉じてテストするだけであれば審査等なしに簡単に行うことができるので、今回試してみました。
作ったもの
架空のオンラインスーパーです。ChatGPTとの会話の流れで自分のアカウントのカートに商品を追加することができます。
自由に触ってみてください。
動画
URL
- ログインID:
任意の文字列(user_1111など)、パスワード:1234Qwerでログインできます - ログインID単位でデータが分離されるようになっています
- データはすべてメモリに保持しており、サーバはアクセスが無いとシャットダウンされますので、何も永続化されません
- ChatGPT内で利用する方法は下記GitHubのREADMEをご覧ください
GitHub
ChatGTPアプリとは
ChatGPTでAIと会話する流れの中で任意のサービスを提供するための仕組みです。ユーザーは事前にアプリの利用設定をしておくことで、ChatGPTとの会話の中でアプリの機能を利用することができます。
ユーザーが「●●アプリを使用して」などとAIに明示的に指示することもできますし、逆にAIが文脈を察してアプリの利用を提案することもあるようです。
リーチ可能なユーザー
無料プランを含むすべてのユーザーがアプリを利用可能です。
2025年のニフティの調査だと小中学生の約55%がChatGPTを利用したことがあるらしいですし、子供でなくても日常の検索行動でChatGPTを使う人は周りを見ていても増えているように感じます。
早めにAI時代におけるサービス提供の仕方を考えて損はないように思います。
ChatGTPアプリでできること
ChatGTPによる任意の機能の呼び出し
ChatGPTアプリに限った話ではないですが、提供したい機能をMCPサーバーとして用意しておくことで、ChatGPTが必要に応じて機能を呼び出すことができます。
認証が必要な機能も提供することができ、その場合はMCPサーバー・認証サーバーがOAuth2.1に準拠している必要があります。(正確に言うとOAuth2.1以外にもいくつか従うべきものがあります)
ChatGPT UI上に任意のUIを表示
MCPサーバーから特定の形式でHTMLを返すことで、ChatGPTのUI上に任意のUIを表示することができます。
UIは、ChatGPTのガイドラインに沿ったものである必要があり、またiframe内に描画されることになるので、何でも自由に表示できるという感じではありません。
UIは下記3つの表示モードから選ぶことができます
-
Inline
チャットの吹き出しと同じように、チャットの流れに流れていく小さなUI -
Fullscreen
文字通りフルスクリーン。フルスクリーンのアプリ画面の中でユーザーは引き続きAIと会話することができる。 -
Picture-in-picture (PiP)
チャットの上部に固定で表示される。チャットの内容に応じてインタラクティブに表示する内容を変えることができる。
詳細はガイドラインを見ていただくのが良いかと思います。
アプリを作るために必要なこと
既存サービスをChatGPT上で提供することを想定すると、主に以下のようなことが必要になります。意外と面倒です。
- ChatGPT上で提供したい機能をMCPサーバーの形で実装する
- 認証が必要な機能の場合、MCPサーバー・認証サーバーをMCPの標準に準拠した認証方式に対応できるようにする
- 認証サーバーにOuth0などのサービスを利用している場合は比較的楽に対応できそう
- ChatGPT上でUIを表示させたい場合、専用のUIを実装しMCPサーバーからResourceとして提供できるようにする
実際にアプリを作ってみて思ったこと
良い点
- チャットAIが一般に普及する中で、ユーザーにどのような形でサービスを提供していくべきかを考える良い機会になる
- チャットAIの中で別サービスにアクセスするという概念が一般のユーザーにはまだあまり浸透していないように思うので、もし良いアプリが提供出来たら話題にできそう
懸念点
- エコシステムが未熟で、一度アプリを作ってもその後のメンテナンスが大変そう
- 脆弱性
- MCPに限らず、AI独断で不可逆的な操作(例:送金、メッセージの送信等)が可能な状況というのは脆弱性を孕む。(WhatsAppの話とか)
- 悪者にAIを操作されて想定外の使われ方をしたとしても問題ない機能のみを提供するのが安全そう
- MCPに限らず、AI独断で不可逆的な操作(例:送金、メッセージの送信等)が可能な状況というのは脆弱性を孕む。(WhatsAppの話とか)
- 意外と面倒
- ローカルのみで動く適当なMCPを作るだけなら一瞬でできるが、認証を備え、ちゃんとサービスとしてMCPを公開するのは実装も面倒だし運用も大変そう