# OpenAI Image

MCP-сервер, который даёт агенту два инструмента: сгенерировать картинку по тексту и отредактировать готовое изображение через OpenAI.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Автор: mindstone
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/mindstone/mcp-servers/tree/HEAD/connectors/openai-image
- Обновлён: 2026-10-22
- HTML: https://affpapa.org/nevibecode/mcp/openai-image

## Что делает

Сервер поднимает инструменты `generate_image` и `edit_image`. Первый принимает промпт, размер и качество, второй правит уже существующий файл. Работает через модель `gpt-image-2`, поддерживает четыре уровня качества и три соотношения сторон, понимает промпты на разных языках.

Готовые PNG складываются только внутри рабочей папки: по умолчанию в `~/Pictures/MCP-Generated-Images/`, а если задать `MCP_WORKSPACE_PATH` — в `<workspace>/Chief-of-Staff/generated-images/`. Ссылки на файлы за пределами воркспейса сервер отклоняет с кодом `WORKSPACE_FENCE_VIOLATION`, и это главный источник ошибок при первом запуске: картинку для редактирования придётся сначала перенести в рабочую папку. Ключ API жёстко привязан к `api.openai.com`, увести его в сторону не получится.

Нужны Node.js 20.3+, npm и ключ OpenAI с доступом к генерации изображений. Без `OPENAI_API_KEY` сервер всё равно стартует, но каждый вызов вернёт `NOT_CONFIGURED` вместо падения. Таймаут запроса по умолчанию 180000 мс — под качество `high`, которое на сложных промптах занимает до двух минут.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `OPENAI_API_KEY`, `MCP_WORKSPACE_PATH`, `OPENAI_IMAGE_MODEL`, `OPENAI_IMAGE_REQUEST_TIMEOUT_MS`, `MCP_ALLOWED_SYMLINK_ROOTS`, `MCP_HTTP_PORT` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env OPENAI_API_KEY=<OPENAI_API_KEY> --env MCP_WORKSPACE_PATH=<MCP_WORKSPACE_PATH> --env OPENAI_IMAGE_MODEL=<OPENAI_IMAGE_MODEL> --env OPENAI_IMAGE_REQUEST_TIMEOUT_MS=<OPENAI_IMAGE_REQUEST_TIMEOUT_MS> --env MCP_ALLOWED_SYMLINK_ROOTS=<MCP_ALLOWED_SYMLINK_ROOTS> --transport stdio openai-image -- npx -y @mindstone/mcp-server-openai-image
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add openai-image --env OPENAI_API_KEY=<OPENAI_API_KEY> --env MCP_WORKSPACE_PATH=<MCP_WORKSPACE_PATH> --env OPENAI_IMAGE_MODEL=<OPENAI_IMAGE_MODEL> --env OPENAI_IMAGE_REQUEST_TIMEOUT_MS=<OPENAI_IMAGE_REQUEST_TIMEOUT_MS> --env MCP_ALLOWED_SYMLINK_ROOTS=<MCP_ALLOWED_SYMLINK_ROOTS> -- npx -y @mindstone/mcp-server-openai-image
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "openai-image": {
            "command": "npx",
            "args": [
                "-y",
                "@mindstone/mcp-server-openai-image"
            ],
            "env": {
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "MCP_WORKSPACE_PATH": "<MCP_WORKSPACE_PATH>",
                "OPENAI_IMAGE_MODEL": "<OPENAI_IMAGE_MODEL>",
                "OPENAI_IMAGE_REQUEST_TIMEOUT_MS": "<OPENAI_IMAGE_REQUEST_TIMEOUT_MS>",
                "MCP_ALLOWED_SYMLINK_ROOTS": "<MCP_ALLOWED_SYMLINK_ROOTS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "openai-image": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@mindstone/mcp-server-openai-image"
            ],
            "env": {
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "MCP_WORKSPACE_PATH": "<MCP_WORKSPACE_PATH>",
                "OPENAI_IMAGE_MODEL": "<OPENAI_IMAGE_MODEL>",
                "OPENAI_IMAGE_REQUEST_TIMEOUT_MS": "<OPENAI_IMAGE_REQUEST_TIMEOUT_MS>",
                "MCP_ALLOWED_SYMLINK_ROOTS": "<MCP_ALLOWED_SYMLINK_ROOTS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e OPENAI_API_KEY=<OPENAI_API_KEY> -e MCP_WORKSPACE_PATH=<MCP_WORKSPACE_PATH> -e OPENAI_IMAGE_MODEL=<OPENAI_IMAGE_MODEL> -e OPENAI_IMAGE_REQUEST_TIMEOUT_MS=<OPENAI_IMAGE_REQUEST_TIMEOUT_MS> -e MCP_ALLOWED_SYMLINK_ROOTS=<MCP_ALLOWED_SYMLINK_ROOTS> openai-image npx -y @mindstone/mcp-server-openai-image
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

## Когда брать
- сгенерировать иллюстрацию по текстовому описанию
- поправить готовую картинку через `edit_image`
- получить PNG в нужном соотношении сторон
- держать сгенерированные файлы внутри рабочей папки
- отдать агенту генерацию картинок без отдельного CLI

## Примеры запросов агенту
- Сгенерируй портрет 1024x1536: лошадь везёт телегу на рассвете, качество high
- Отредактируй `hero.png` — убери фон и оставь только объект
- Сделай квадратную картинку для карточки товара, качество medium

## Похожие
- [openai-image-gen](https://affpapa.org/nevibecode/skills/openai-image-gen.md) — скилл · ★ 700
- [gpt-image-2](https://affpapa.org/nevibecode/skills/gpt-image-2.md) — скилл · 84300 установок
- [gpt-image](https://affpapa.org/nevibecode/skills/gpt-image.md) — скилл · 12300 установок

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
