The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Nanobanana 2 Polzaia MCP Server listing page.
mcp-name: io.github.ivanantigravity-lgtm/nanobanana-2-polzaia-mcp-server
MCP-сервер для генерации и редактирования изображений через Polza с моделями семейства Google Nano Banana:
google/gemini-3.1-flash-image-preview — Nano Banana 2, модель по умолчаниюgoogle/gemini-3-pro-image-preview — для сложных композиций и максимального качестваgoogle/gemini-2.5-flash-image — для быстрых черновиковСервер отдаёт изображения настоящими MCP image content-блоками и параллельно — структурированный JSON с метаданными и подсказками по воспроизводимости.
generate_image — генерация и редактирование. Поддерживает до трёх референсов для conditioning, выбор модели, aspect ratio, разрешение и прочие параметры.fetch_generation — докачка уже запущенной генерации по gen_... id. Нужен, когда MCP-клиент отвалился по таймауту, а генерация на стороне Polza успешно завершилась. Позволяет не перегенерировать (и не оплачивать повторно).upload_file — загрузка файлов в Polza Storage.show_output_stats — статистика локальной выходной директории.maintenance — обслуживание кэша, квот и БД.Claude Code или любой другой MCP-клиентuvPython 3.11+POLZA_AI_API_KEY (токен аккаунта Polza)Для Claude Code / VS Code:
uv (brew install uv на macOS)..mcp.json.Перезапустите Claude Code / VS Code.
MCP-клиенты (в том числе Claude Code) обычно имеют собственный таймаут на один tool call порядка 60 секунд. Nano Banana 2 укладывается в это окно не всегда, и клиент может вернуть The read operation timed out ещё до того, как Polza успела отдать результат. Сервер Polza в этот момент доводит генерацию до конца и сохраняет её под gen_... id.
Если такое случилось:
gen_... id в веб-интерфейсе Polza (раздел генераций).fetch_generation с этим id — сервер опросит статус и сохранит файл локально.Параметр output_path принимает как конкретный файл, так и директорию. При отсутствии параметра файл сохраняется в IMAGE_OUTPUT_DIR.
Минимум в .env:
Запуск:
Установленный через PyPI пакет — рекомендуемый вариант:
Запуск из исходников:
На macOS добавьте сервер в файл:
~/Library/Application Support/Claude/claude_desktop_config.json
Пример:
| Переменная | Обязательно | Описание |
|---|---|---|
POLZA_AI_API_KEY | да | Токен доступа к Polza API |
POLZA_BASE_URL | нет | База API, по умолчанию https://polza.ai/api |
IMAGE_OUTPUT_DIR | нет | Директория для сохранённых файлов, по умолчанию ~/nanobanana-images |
POLZA_POLL_INTERVAL_SECONDS | нет | Интервал поллинга статуса, по умолчанию 2 |
POLZA_POLL_TIMEOUT_SECONDS | нет | Таймаут ожидания генерации, по умолчанию 120 |
POLZA_EXTERNAL_USER_ID | нет | Передаётся в Polza как user для антифрода |
RETURN_FULL_IMAGE | нет | Возвращать полное изображение в MCP-ответе вместо thumbnail |
NANOBANANA_MODEL | нет | Дефолтный tier: auto, nb2, pro, flash |
MCP Registry хранит только метаданные, сам пакет должен лежать на PyPI.
POST /v1/media — запуск генерацииGET /v1/media/{id} — статус и результат (используется для fetch_generation и поллинга)POST /v1/storage/upload — загрузка референсаGET /v1/storage/files/{id} — метаданные файлаDELETE /v1/storage/files/{id} — удаление файлаMIT. См. файл LICENSE.