Server data from the Official MCP Registry
Nano Banana MCP server backed by Polza media and storage APIs.
Nano Banana MCP server backed by Polza media and storage APIs.
This MCP server for image generation via Polza AI demonstrates good security fundamentals with proper auth via API key, appropriate permission scope matching its stated purpose, and clean dependency management. However, several code quality issues reduce confidence: incomplete file truncation in the provided source code, broad exception handling patterns, and potential information disclosure through detailed logging of user inputs. The permissions (file I/O, network HTTP, environment variables) align well with the server's purpose, but users should understand they're granting API key access and filesystem write permissions. Supply chain analysis found 9 known vulnerabilities in dependencies (1 critical, 5 high severity). Package verification found 1 issue.
4 files analyzed · 17 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-ivanantigravity-lgtm-nanobanana-2-polzaia-mcp-server": {
"args": [
"nanobanana-2-polzaia-mcp-server"
],
"command": "uvx"
}
}
}From the project's GitHub README.
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.{
"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.
Если такое случилось:
gen_... id в веб-интерфейсе Polza (раздел генераций).fetch_generation с этим id — сервер опросит статус и сохранит файл локально.fetch_generation(media_id="gen_2158267363095220225",
output_path="/abs/path/to/slide_3.png")
Параметр output_path принимает как конкретный файл, так и директорию. При отсутствии параметра файл сохраняется в IMAGE_OUTPUT_DIR.
git clone https://github.com/ivanantigravity-lgtm/nanobanana-2-polzaia-mcp-server.git
cd nanobanana-2-polzaia-mcp-server
uv sync
cp .env.example .env
Минимум в .env:
POLZA_AI_API_KEY=your_polza_api_key
POLZA_BASE_URL=https://polza.ai/api
IMAGE_OUTPUT_DIR=/absolute/path/to/output
Запуск:
uv run python -m nanobanana_2_polzaia_mcp_server.server
Установленный через PyPI пакет — рекомендуемый вариант:
{
"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"
}
}
}
}
Запуск из исходников:
{
"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"
}
}
}
}
На macOS добавьте сервер в файл:
~/Library/Application Support/Claude/claude_desktop_config.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 |
# 1. bump версии в pyproject.toml и nanobanana_2_polzaia_mcp_server/__init__.py
# 2. обновить CHANGELOG.md
# 3. прогнать быстрый smoke-test
PYTHONPYCACHEPREFIX=/tmp/pycache python3 -m compileall nanobanana_2_polzaia_mcp_server
uv build
# 4. публикация на PyPI
uv publish --token "$UV_PUBLISH_TOKEN"
# 5. публикация метаданных в MCP Registry
brew install mcp-publisher # один раз
mcp-publisher login
mcp-publisher publish
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.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.