В ChatGPT добавили мини-приложения (GPT-Apps). Они позволяют автоматизировать процессы, подключаться к внешним сервисам и создавать интерфейсы прямо внутри чата.
Вот парочка примеров таких приложений:
- помощник, который составляет контент-планы;
- интеграция с Google Таблицами;
- приложение, которое оформляет заказы или создаёт отчёты.
Пока все восхищаются и тестируют приложения от Сanva, Booking, Figma или Spotify, редакция Oh, my prompt собрала инструкцию. Она поможет соаздать свой мини-апп и опубликовать его в Chat GPT.

Шаг 1. Что такое Apps SDK и MCP
Apps SDK — это набор инструментов от OpenAI, похожий на инструкцию по сборке мебели.
В нём уже есть шаблоны и готовые примеры, чтобы вы могли собрать приложение без сложной настройки.
MCP (Model Context Protocol) — это язык общения между ChatGPT и вашим сервером.
Представьте официанта и кухню:
- официант (ChatGPT) принимает заказ;
- MCP переводит его в понятный формат;
- кухня (сервер) готовит ответ и возвращает его обратно.
Шаг 2. Что нужно подготовить
- Установите Node.js — среду, в которой выполняется код.
- Создайте папку проекта, например
my-chatgpt-app
. - Получите OpenAI API-ключ — пропуск разработчика.
- Установите ngrok — инструмент, который создаёт безопасную ссылку, чтобы ChatGPT смог подключиться к вашему локальному серверу.
Как получить OpenAI API-ключ
Зарегистрируйтесь или войдите в свой аккаунт на сайте OpenAI → platform.openai.com
В панели управления (Dashboard) найдите раздел API Keys (Ключи API) — обычно в меню слева или через страницу аккаунта.
Нажмите кнопку Create new secret key (Создать новый секретный ключ)
Дайте ключу имя, по которому вы потом вспомните, для чего он был создан (например, “MyChatGPTAppKey”)
Система покажет вам сам ключ — длинную строку символов. Скопируйте его и сохраните в безопасном месте (т.к. позже вы его уже не увидите).
Шаг 3. Сервер — основа вашего приложения
Сервер — это программа, которая выполняет команды из чата.
Пример:
function createTask(taskName, dueDate) {
return `Задача "${taskName}" создана. Срок — ${dueDate}`;
}
Если пользователь напишет:
“Создай задачу «Отправить отчёт» на завтра”
ChatGPT отправит запрос серверу, тот выполнит команду и вернёт ответ.
Шаг 4. Добавьте инструменты
Инструменты — это действия, которые умеет выполнять ваше приложение:
createTask
— создать задачу;getTasks
— показать список;deleteTask
— удалить задачу.
Каждый инструмент описывается как инструкция: какие данные нужны и что возвращается.
Так ChatGPT понимает, что именно может делать ваше приложение.
Шаг 5. Интерфейс внутри чата
Чтобы взаимодействие было удобнее, можно добавить мини-интерфейс — таблицу, кнопку, форму.
Это обычная веб-страница, встроенная в окно ChatGPT (через iframe).
Пример: пользователь пишет «Покажи задачи», и приложение выводит таблицу со списком и кнопками «Готово».
Шаг 6. Сделайте сервер доступным для ChatGPT
- Запустите сервер (
npm run dev
илиnode server.js
). - В командной строке выполните:
ngrok http 8000
- Скопируйте ссылку, которую выдаст ngrok — она нужна для подключения.
Что такое сервер и как его настроить
Коротко: сервер — это ваш «исполнитель», к которому ChatGPT шлёт задания. Ниже самый простой путь: локально поднять сервер на Node.js, проверить его руками, выдать ему публичный адрес через ngrok и подключить в ChatGPT. Всё простыми шагами и с готовым кодом.
1) Что поставить заранее
Node.js LTS: установите с nodejs.org.
Git (удобно, но не обязательно).
Ngrok: создаёт публичный HTTPS-адрес к вашему локальному серверу.
Проверка:
node -v
npm -v
ngrok version
2) Создаём минимальный сервер
Это «болванка», которая принимает команду и что-то делает. Начнём без сложного протокола — просто HTTP JSON. Так вы увидите механику. Позже это место займёт реализация под ChatGPT Apps SDK/MCP.
mkdir my-chatgpt-app && cd my-chatgpt-app
npm init -y
npm i express cors
Создайте файл server.js:
// server.js
const express = require(‘express’);
const cors = require(‘cors’);
const app = express();
app.use(cors());
app.use(express.json());
// «Каталог инструментов» — список того, что умеет ваш сервер.
// ChatGPT (или вы) можете спросить: какие есть действия?
app.get(‘/tools’, (req, res) => {
res.json({
tools: [
{
name: ‘createTask’,
description: ‘Создаёт задачу с названием и сроком’,
inputSchema: { type: ‘object’, required: [‘title’, ‘dueDate’] }
},
{
name: ‘listTasks’,
description: ‘Возвращает список задач’,
inputSchema: { type: ‘object’, required: [] }
}
]
});
});
// Пространство для «инструментов».
// 1) createTask — принимает данные и «создаёт» задачу (демо-логика).
const tasks = []; // простая память в ОЗУ
app.post(‘/tool/createTask’, (req, res) => {
const { title, dueDate } = req.body || {};
if (!title || !dueDate) {
return res.status(400).json({ error: ‘Нужны title и dueDate’ });
}
const task = { id: String(Date.now()), title, dueDate, status: ‘open’ };
tasks.push(task);
res.json({ ok: true, task });
});
// 2) listTasks — отдаёт список задач
app.post(‘/tool/listTasks’, (req, res) => {
res.json({ ok: true, tasks });
});
// Технический пинг-поинт — удобно для мониторинга/проверок
app.get(‘/health’, (_req, res) => res.json({ status: ‘ok’ }));
// Запуск сервера
const PORT = process.env.PORT || 8000;
app.listen(PORT, () => {
console.log(Server on http://localhost:${PORT}
);
});
Запуск:
node server.js
Проверьте в браузере:
http://localhost:8000/health → должен вернуть { status: «ok» }
http://localhost:8000/tools → должен вернуть список «инструментов»
Проверьте руками запросы (например, через curl или Postman):
Создать задачу:
curl -X POST http://localhost:8000/tool/createTask \
-H «Content-Type: application/json» \
-d ‘{«title»:»Подготовить отчёт»,»dueDate»:»2025-10-12″}’
Получить список задач:
curl -X POST http://localhost:8000/tool/listTasks
Если это сработало, у вас есть «исполнитель»: он принимает команду, делает действие и отдаёт результат.
Пояснение терминов на бытовом языке:
Эндпоинт — это «окошко» в вашем сервере по конкретному URL, куда можно постучаться с запросом.
Инструмент — одна конкретная способность (функция), например «создай задачу».
Тело запроса (JSON) — содержимое записки, которую вы кладёте в «окошко».
3) Даём серверу публичный адрес
ChatGPT не видит ваш локальный localhost. Ему нужен публичный HTTPS-адрес. Для разработки удобно использовать ngrok.
Откройте второй терминал:
ngrok http 8000
Ngrok выдаст URL вида https://abc123.ngrok.io.
Проверьте https://abc123.ngrok.io/health — должно отвечать.
Важно: URL меняется при каждом запуске ngrok. На продакшне нужен постоянный хостинг (см. ниже).
4) Подключаем в ChatGPT (Developer Mode)
Задача: сказать ChatGPT, куда слать команды.
В веб-интерфейсе ChatGPT откройте Настройки → Apps & Connectors.
Включите Developer Mode.
Создайте новое приложение, укажите:
имя приложения;
публичный URL (из ngrok), например https://abc123.ngrok.io;
пока без авторизации.
Сохраните.
Тест:
Откройте новый чат.
Подключите ваше приложение из списка.
Сформулируйте пользовательскую команду: «Создай задачу “Позвонить клиенту” на завтра».
На этапе «болванки» ChatGPT может не «догадаться», как именно дернуть ваш эндпоинт. Это нормально: сейчас мы проверяли механику. В рабочем варианте вы обернёте эти действия в формат, который понимает ChatGPT Apps SDK/MCP (ниже — как перейти к этому).
Ситуационное объяснение:
Сейчас вы научились «поднимать кухню» и готовить блюда по своим правилам.
Чтобы официант (ChatGPT) заказывал блюда автоматически и без ваших подсказок, кухня должна говорить на «официальном протоколе» — это и есть MCP/Apps SDK.
5) Как перейти от «болванки» к интеграции под ChatGPT Apps SDK/MCP
Чтобы ChatGPT автоматически вызывал ваши инструменты, нужно:
Описать инструменты формально (схемы входов/выходов), чтобы чат знал, что и когда можно вызывать.
Поднять MCP-совместимую обвязку (сервер выступает как MCP-server).
Зарегистрировать этот MCP-сервер при создании приложения в ChatGPT.
Практически:
Сохраняете логику «инструментов» как есть (createTask, listTasks).
Оборачиваете маршруты в формат, который ожидает MCP (обычно JSON-схемы + единый RPC-эндпоинт).
Добавляете «описание инструментов» для объявления в ChatGPT.
Если нужно — подготовлю готовый шаблон MCP-совместимого сервера поверх вашего кода и дам инструкции, куда «вставить» ваши инструменты.
6) Что делать для продакшна
Локальная разработка и ngrok — только для тестов. Для постоянной работы:
Хостинг: Vercel, Render, Fly.io, Railway или VPS (Ubuntu + Node.js + reverse-proxy Nginx).
Переменные окружения: OPENAI_API_KEY и прочие секреты храните в env/секрет-хранилищах, не в коде.
HTTPS: на PaaS он обычно «из коробки». На VPS — Let’s Encrypt.
Логи/мониторинг: включите сохранение логов ошибок и метрик.
Безопасность: валидация входных данных, таймауты запросов к внешним API, ограничение размеров входящих тел.
7) Частые проблемы и быстрые решения
400/500 на эндпоинте: проверьте JSON в запросе и обязательные поля.
«Не доходит запрос» из ChatGPT: проверьте, что URL в настройках актуальный (ngrok меняется), что сервер запущен, а фаервол не блокирует.
CORS/HTTPS: для разработки включите cors() в Express, и используйте только HTTPS-URL от ngrok/хостинга.
Потеряли ключ: отзовите старый, создайте новый, обновите переменные окружения.
Шаг 7. Подключите приложение в ChatGPT
- В ChatGPT откройте Настройки → Apps & Connectors.
- Включите Developer Mode (режим разработчика).
- Нажмите Create App и укажите:
- название приложения;
- ссылку на сервер (из ngrok);
- авторизацию — выберите без авторизации для теста.
- Сохраните. Теперь ChatGPT знает о вашем приложении.
Шаг 8. Проверьте работу
- Откройте новый чат.
- Выберите приложение.
- Напишите команду, например: “TaskBuddy, добавь задачу «Позвонить клиенту» на завтра.”
- Если всё работает — ChatGPT вернёт ответ от вашего приложения.
- Если нет — проверьте консоль сервера на ошибки.
Шаг 9. Перенос на постоянный сервер
Когда приложение стабильно:
- разместите код на облачном хостинге (Vercel, Render, AWS или другом);
- добавьте HTTPS-доступ;
- настройте обработку ошибок;
- проверьте, чтобы данные пользователей не сохранялись без необходимости.
Шаг 10. Подготовка к публикации
Когда OpenAI запустит каталог приложений ChatGPT, вы сможете опубликовать своё мини-приложение, чтобы им пользовались другие.
Для публикации потребуется:
- стабильная версия приложения с понятной логикой;
- название, описание, иконка и скриншоты;
- политика конфиденциальности и инструкция по использованию;
- соблюдение правил безопасности и контент-политики OpenAI.
После отправки через панель разработчика OpenAI приложение пройдёт модерацию. Если всё в порядке, оно появится в публичном каталоге ChatGPT и станет доступно пользователям прямо из чата.
Итого
Создание GPT-приложения — это не сложно, но в первый раз может занять несколько часов или дней.
Главное — понимать логику: ChatGPT — это интерфейс, сервер — мозг, MCP — язык, который связывает их между собой. И не забудьте связать их между собой!
Перед запуском открытого каталога есть время, можно потренироваться и создать что-то крутое!