Nanobanana 2 Polzaia Mcp Server

io.github.ivanantigravity-lgtm由 GitHub 帳號 ivanantigravity-lgtm 發布v0.5.0更新於 Oct 24, 2026

Nano Banana MCP server backed by Polza media and storage APIs.

已驗證STDIO僅桌面檔案與儲存媒體與設計

概覽

AI 產生的概覽

透過 Polza 媒體 API 呼叫 Google Nano Banana 系列模型生成與編輯圖像,回傳影像內容區塊與中繼資料。

可以做什麼
  • 生成或編輯圖像,支援最多三張參考圖、模型選擇、長寬比與解析度
  • 依 gen_ 編號重新取得已完成的生成結果,並在用戶端逾時後存到本機
  • 上傳檔案到 Polza Storage,並讀取或刪除已存放的檔案紀錄
  • 統計本機輸出目錄的使用狀況
  • 對快取、配額與本機資料庫執行維護
適用情境
適合讓助理用 Nano Banana 模型製作或修改圖像並把結果存成本機檔案,也適合在生成時間超過用戶端工具呼叫逾時後取回結果。
執行需求
以 PyPI 套件形式透過 stdio 在本機執行,需用 uvx 啟動,要求 uv 與 Python 3.11 以上,以及 Claude Code 或 VS Code 等 MCP 用戶端。需要 Polza 帳戶權杖,放在 POLZA_AI_API_KEY;選用設定包括 POLZA_BASE_URL、IMAGE_OUTPUT_DIR、輪詢間隔與逾時、POLZA_EXTERNAL_USER_ID、RETURN_FULL_IMAGE 與 NANOBANANA_MODEL。需能連線 Polza API。
安裝前請注意
POLZA_AI_API_KEY 是付費帳戶憑證,生成會按次計費,重複生成可能再次產生費用,fetch_generation 正是為了避免重複付費。上傳與刪除會更動 Polza Storage 中的檔案,提示詞、參考圖與選用的外部使用者識別碼會傳送給 Polza。生成的檔案會寫入本機輸出目錄。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Nanobanana 2 Polzaia Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Nano Banana 2 Polza MCP Server

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 с метаданными и подсказками по воспроизводимости.

Инструменты MCP

  • generate_image — генерация и редактирование. Поддерживает до трёх референсов для conditioning, выбор модели, aspect ratio, разрешение и прочие параметры.
  • fetch_generation — докачка уже запущенной генерации по gen_... id. Нужен, когда MCP-клиент отвалился по таймауту, а генерация на стороне Polza успешно завершилась. Позволяет не перегенерировать (и не оплачивать повторно).
  • upload_file — загрузка файлов в Polza Storage.
  • show_output_stats — статистика локальной выходной директории.
  • maintenance — обслуживание кэша, квот и БД.

Что нужно пользователю

  • Claude Code или любой другой MCP-клиент
  • uv
  • Python 3.11+
  • POLZA_AI_API_KEY (токен аккаунта Polza)

Быстрая установка за 2 минуты

Для Claude Code / VS Code:

  1. Установите uv (brew install uv на macOS).
  2. В корне проекта создайте файл .mcp.json.
  3. Вставьте конфиг и подставьте свой Polza-ключ.
json
{  "mcpServers": {    "nanobanana-polza": {      "command": "uvx",      "args": ["nanobanana-2-polzaia-mcp-server@latest"],      "env": {        "POLZA_AI_API_KEY": "your-polza-api-key-here",        "POLZA_BASE_URL": "https://polza.ai/api",        "IMAGE_OUTPUT_DIR": "/Users/yourname/Documents/nanobanana"      }    }  }}

Перезапустите Claude Code / VS Code.

Восстановление после таймаута

MCP-клиенты (в том числе Claude Code) обычно имеют собственный таймаут на один tool call порядка 60 секунд. Nano Banana 2 укладывается в это окно не всегда, и клиент может вернуть The read operation timed out ещё до того, как Polza успела отдать результат. Сервер Polza в этот момент доводит генерацию до конца и сохраняет её под gen_... id.

Если такое случилось:

  1. Посмотрите gen_... id в веб-интерфейсе Polza (раздел генераций).
  2. Вызовите fetch_generation с этим id — сервер опросит статус и сохранит файл локально.
fetch_generation(media_id="gen_2158267363095220225",                 output_path="/abs/path/to/slide_3.png")

Параметр output_path принимает как конкретный файл, так и директорию. При отсутствии параметра файл сохраняется в IMAGE_OUTPUT_DIR.

Локальная разработка

bash
git clone https://github.com/ivanantigravity-lgtm/nanobanana-2-polzaia-mcp-server.gitcd nanobanana-2-polzaia-mcp-serveruv synccp .env.example .env

Минимум в .env:

env
POLZA_AI_API_KEY=your_polza_api_keyPOLZA_BASE_URL=https://polza.ai/apiIMAGE_OUTPUT_DIR=/absolute/path/to/output

Запуск:

bash
uv run python -m nanobanana_2_polzaia_mcp_server.server

Claude Code / VS Code (варианты конфига)

Установленный через PyPI пакет — рекомендуемый вариант:

json
{  "mcpServers": {    "nanobanana-polza": {      "command": "uvx",      "args": ["nanobanana-2-polzaia-mcp-server@latest"],      "env": {        "POLZA_AI_API_KEY": "your-polza-api-key-here",        "POLZA_BASE_URL": "https://polza.ai/api",        "IMAGE_OUTPUT_DIR": "/Users/demo/Documents/nanobanana"      }    }  }}

Запуск из исходников:

json
{  "mcpServers": {    "nanobanana-polza-local": {      "command": "uv",      "args": ["run", "python", "-m", "nanobanana_2_polzaia_mcp_server.server"],      "cwd": "/absolute/path/to/nanobanana-2-polzaia-mcp-server",      "env": {        "POLZA_AI_API_KEY": "your-polza-api-key-here",        "POLZA_BASE_URL": "https://polza.ai/api",        "IMAGE_OUTPUT_DIR": "/absolute/path/to/output"      }    }  }}

Claude Desktop

На macOS добавьте сервер в файл:

~/Library/Application Support/Claude/claude_desktop_config.json

Пример:

json
{  "mcpServers": {    "nanobanana-polza": {      "command": "uvx",      "args": ["nanobanana-2-polzaia-mcp-server@latest"],      "env": {        "POLZA_AI_API_KEY": "your-polza-api-key-here",        "POLZA_BASE_URL": "https://polza.ai/api",        "IMAGE_OUTPUT_DIR": "/Users/demo/Documents/nanobanana"      }    }  }}

Переменные окружения

ПеременнаяОбязательноОписание
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

Публикация новой версии

bash
# 1. bump версии в pyproject.toml и nanobanana_2_polzaia_mcp_server/__init__.py# 2. обновить CHANGELOG.md# 3. прогнать быстрый smoke-testPYTHONPYCACHEPREFIX=/tmp/pycache python3 -m compileall nanobanana_2_polzaia_mcp_serveruv build
# 4. публикация на PyPIuv publish --token "$UV_PUBLISH_TOKEN"
# 5. публикация метаданных в MCP Registrybrew install mcp-publisher   # один разmcp-publisher loginmcp-publisher publish

MCP Registry хранит только метаданные, сам пакет должен лежать на PyPI.

Используемые эндпоинты Polza

  • 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.

來源:README.md,提交 d11881e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.5.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分