Skip to main content
Glama
README.md
# Картинки OpenAI → Claude и ChatGPT

*English: personal MCP connector for OpenAI image generation and editing (gpt-image-2) in Claude and ChatGPT, self-hosted on Cloudflare Workers free tier. Setup guide is in Russian.*

**Личный MCP-коннектор**: генерируйте и редактируйте картинки моделью
OpenAI **gpt-image-2** прямо из чата Claude или ChatGPT — с телефона,
в браузере, на компьютере.

> «Нарисуй обложку для поста про осень, акварель» · «Замени фон на моём
> фото на море» · «Надень на человека с первого фото куртку со второго» ·
> «Сделай стикер с прозрачным фоном»

Коннектор — ваш личный сервер на **бесплатном** тарифе Cloudflare Workers.
Картинки оплачиваются напрямую с вашего баланса OpenAI по их тарифу,
без наценок и подписок: обычная картинка в среднем качестве — около
**$0.04**.

[![Deploy to Cloudflare](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/deslabpro-max/openai-images-mcp)

🤖 **Хотите, чтобы всё сделал ИИ?** Промт для Claude Code или Codex: [docs/AGENT_PROMPT.md](docs/AGENT_PROMPT.md).

🧭 **Не программист? Не страшно.** Пошаговая инструкция для новичков
(каждый клик, все ошибки и решения): **[docs/SETUP.md](docs/SETUP.md)**.
📄 PDF для печати и Telegram: [docs/Инструкция-Картинки-OpenAI.pdf](docs/Инструкция-Картинки-OpenAI.pdf).
Версия для форумного поста (BB-код): [docs/4pda.bbcode.txt](docs/4pda.bbcode.txt).

---

## Что умеет

| Инструмент | Что делает |
|---|---|
| `generate_image` | Картинка по описанию: квадрат, альбомная или портретная; качество low / medium / high; до 4 вариантов; прозрачный фон |
| `edit_image` | Доработка картинки — по id из хранилища или по прямой https-ссылке; исходник не меняется |
| `get_upload_link` | Ссылка, по которой вы загружаете своё фото (любой формат, включая HEIC с айфона) |
| `get_mask_link` | Рисовалка маски: меняется только закрашенная зона |
| `compose_images` | Совместить 2–6 картинок по описанию: одежда, тату, предметы, коллаж, перенос стиля |
| `list_images` | Последние генерации и загрузки со ссылками |
| `delete_image` | Удалить картинку (ссылка перестаёт работать) |
| `get_spending` | Сколько потрачено на OpenAI через коннектор — за месяц и всего |

Готовые PNG хранятся **30 дней** и открываются по неугадываемым ссылкам —
их можно скачать, отправить в мессенджер или опубликовать в канал.

## Как это устроено

```
Claude / ChatGPT ──MCP──► ваш Worker на Cloudflare (этот репозиторий) ──► OpenAI Images API
                               │
                               └─ KV: токены, картинки 30 дней, загрузки, счётчик расходов
```

- Воркер — MCP-сервер (Streamable HTTP) и OAuth-сервер для ИИ-клиента
  ([`@cloudflare/workers-oauth-provider`](https://github.com/cloudflare/workers-oauth-provider)).
- API-ключ OpenAI вы вводите **один раз** на странице подключения
  коннектора; он хранится в вашем OAuth-гранте в зашифрованном KV
  и в чат не попадает. Ключ проверяется бесплатным запросом.
- Своё фото в чат «передать» нельзя: MCP-инструменты принимают только
  текст. Поэтому фото загружается отдельной ссылкой (`get_upload_link`),
  страница пересжимает его сама.

## Установка (кратко)

Полная инструкция — [docs/SETUP.md](docs/SETUP.md).

1. **OpenAI** — аккаунт на [platform.openai.com](https://platform.openai.com),
   пополненный баланс, **верификация организации** (обязательна для моделей
   gpt-image) и API-ключ.
2. **Cloudflare** — кнопка «Deploy to Cloudflare» выше: Cloudflare
   склонирует репозиторий в ваш GitHub, создаст KV и настроит автодеплой.
   Секретов задавать не нужно.
3. **Подключение**:
   - **Claude**: Settings → Connectors → Add custom connector →
     `https://<адрес-воркера>/mcp` → Connect → вставить ключ OpenAI;
   - **ChatGPT** (Plus/Pro): Settings → Apps & Connectors → Advanced →
     Developer mode → Create → тот же URL, авторизация OAuth.

## Установка с помощью ИИ-агента (Claude Code / Codex)

Откройте Claude Code или OpenAI Codex и вставьте промт из
**[docs/AGENT_PROMPT.md](docs/AGENT_PROMPT.md)**. Агент сам выполнит
терминальную часть, а браузерные шаги — OpenAI и подключение — проведёт с
вами по одному клику. Ключ OpenAI вы вводите сами на странице коннектора,
в чат он не попадает.

## Ручная установка (без кнопки)

```bash
git clone https://github.com/deslabpro-max/openai-images-mcp.git
cd openai-images-mcp
npm install
npx wrangler login
npx wrangler kv namespace create OAUTH_KV   # id → в wrangler.jsonc
npx wrangler deploy
```

## Сколько стоит

Cloudflare — бесплатно. OpenAI — по факту, точная сумма каждого вызова
возвращается в ответе и копится в `get_spending`.

| Качество | Генерация, ≈ за картинку | Для чего |
|---|---|---|
| low | $0.01–0.02 | черновики, поиск идеи |
| medium | $0.04–0.06 | основная работа, посты |
| high | $0.17–0.25 | финальные картинки |

Правка фото дороже генерации: входная картинка тоже оплачивается
(medium — обычно $0.06–0.15).

## Безопасность и приватность

- Сервер ваш личный; код открыт (MIT).
- Ключ OpenAI хранится в зашифрованном OAuth-гранте в вашем Cloudflare KV,
  в коде и в чатах его нет. Отозвать доступ — удалить ключ на
  platform.openai.com или отключить коннектор.
- Картинки доступны по случайной ссылке без входа: всякий, у кого есть
  ссылка, сможет её открыть. Не генерируйте то, что не готовы показать, —
  или удаляйте через `delete_image`.
- Если кто-то узнает адрес вашего воркера, он сможет подключиться только
  **со своим** ключом OpenAI — ваш баланс он не тратит.

## Ограничения

- Модели gpt-image требуют **верификации организации** в OpenAI; без неё
  генерация вернёт ошибку доступа.
- OpenAI работает не во всех странах: нужен аккаунт и способ оплаты,
  которые OpenAI принимает.
- Генерация в качестве high может идти дольше минуты, и чат прервёт
  ожидание по таймауту — но картинка всё равно сохранится: попросите
  «покажи последние картинки» (`list_images`).
- Бесплатный KV Cloudflare: 1000 записей в сутки на аккаунт — хватает на
  сотни картинок в день.

## Лицензия

[MIT](LICENSE). Проект не аффилирован с OpenAI, Anthropic и Cloudflare.