Skip to main content

MCP-compliant image augmentation server using Albumentations

Project description

Albumentations-MCP with Nano Banana (Gemini)

Natural language image augmentation via MCP protocol. Transform images using plain English with this MCP-compliant server built on Albumentations.

Example: "add blur and rotate 15 degrees" → Applies GaussianBlur + Rotate transforms automatically

Albumentations augmentations

Nano banana augmentations

Quick Start

# Install from PyPI
pip install albumentations-mcp

# Run as MCP server
uvx albumentations-mcp

MCP Client Setup

Claude Desktop

Copy claude-desktop-config.json to ~/.claude_desktop_config.json

Or add manually:

{
  "mcpServers": {
    "albumentations": {
      "command": "uvx",
      "args": ["albumentations-mcp"],
      "env": {
        "MCP_LOG_LEVEL": "INFO",
        "OUTPUT_DIR": "./outputs",
        "ENABLE_VISION_VERIFICATION": "true",
        "DEFAULT_SEED": "42"
      }
    }
  }
}

Kiro IDE

Copy kiro-mcp-config.json to .kiro/settings/mcp.json

Or add manually:

{
  "mcpServers": {
    "albumentations": {
      "command": "uvx",
      "args": ["albumentations-mcp"],
      "env": {
        "MCP_LOG_LEVEL": "INFO",
        "OUTPUT_DIR": "./outputs",
        "ENABLE_VISION_VERIFICATION": "true",
        "DEFAULT_SEED": "42"
      },
      "disabled": false,
      "autoApprove": ["augment_image", "list_available_transforms"]
    }
  }
}

Available Tools

  • augment_image - Apply augmentations using natural language or presets
  • list_available_transforms - Get supported transforms and parameters
  • validate_prompt - Test prompts without processing images
  • list_available_presets - Get available preset configurations
  • set_default_seed - Set global seed for reproducible results
  • get_pipeline_status - Check pipeline health and configuration
  • get_quick_transform_reference - Condensed transform keywords for prompting
  • get_getting_started_guide - Structured workflow guide for first-time assistants

VLM (Gemini “Nano Banana”) Tools

  • check_vlm_config – Report readiness without exposing secrets
  • vlm_generate_preview – Text→image preview for prompt/style ideation (no session)
  • vlm_edit_image – Image‑conditioned edit; runs full session + verification
  • vlm_suggest_recipe – Planning‑only: outputs Alb Compose + optional VLMEdit prompt template; can save under outputs/recipes/

VLM quickstart (env or file):

# Option 1: env
set ENABLE_VLM=true
set VLM_PROVIDER=google
set VLM_MODEL=gemini-2.5-flash-image-preview
set GOOGLE_API_KEY=...  # or GEMINI_API_KEY / VLM_API_KEY

# Option 2: file (auto‑discovered)
# Place a non‑secret file at config/vlm.json:
{
  "enabled": true,
  "provider": "google",
  "model": "gemini-2.5-flash-image-preview"
  // api_key may be in file or environment
}

Examples:

# Preview (no input image, no session)
vlm_generate_preview(prompt="Neon night street, cinematic moodboard")

# Edit (image + prompt, full session)
vlm_edit_image(
    image_path="examples/basic_images/cat.jpg",
    prompt=(
        "Using the provided photo of a cat, add a small, knitted wizard hat. "
        "Preserve identity, pose, lighting, and composition."
    ),
    edit_type="edit",
)

# Plan and save a hybrid recipe (Alb + VLMEdit)
plan = vlm_suggest_recipe(
    task="domain_shift",
    constraints_json='{"output_count":3,"identity_preserve":true}',
    save=True,
)
print(plan["paths"])  # outputs/recipes/<timestamp>_<task>_<hash>/

MCP env examples for VLM (choose one option)

Option A — file (preferred):

{
  "mcpServers": {
    "albumentations": {
      "command": "uvx",
      "args": ["albumentations-mcp"],
      "env": {
        "MCP_LOG_LEVEL": "INFO",
        "OUTPUT_DIR": "./outputs",
        "ENABLE_VLM": "true",
        "VLM_CONFIG_PATH": "config/vlm.json"
      }
    }
  }
}

Option B — inline env (no file):

{
  "mcpServers": {
    "albumentations": {
      "command": "uvx",
      "args": ["albumentations-mcp"],
      "env": {
        "MCP_LOG_LEVEL": "INFO",
        "OUTPUT_DIR": "./outputs",
        "ENABLE_VLM": "true",
        "VLM_PROVIDER": "google",
        "VLM_MODEL": "gemini-2.5-flash-image-preview"
      }
    }
  }
}

Available Prompts

  • compose_preset - Generate augmentation policies from presets with optional tweaks
  • explain_effects - Analyze pipeline effects in plain English
  • augmentation_parser - Parse natural language to structured transforms
  • vision_verification - Compare original and augmented images
  • error_handler - Generate user-friendly error messages and recovery suggestions

Available Resources

  • transforms_guide - Complete transform documentation with parameters and ranges
  • policy_presets - Built-in preset configurations (segmentation, portrait, lowlight)
  • available_transforms_examples - Usage examples and patterns organized by categories
  • preset_pipelines_best_practices - Best practices guide for augmentation workflows
  • troubleshooting_common_issues - Common issues, solutions, and diagnostic steps
  • getting_started_guide - Same content as the tool version, resource-style

Usage Examples

# Simple augmentation
augment_image(
    image_path="photo.jpg",
    prompt="add blur and rotate 15 degrees"
)

# Using presets
augment_image(
    image_path="dataset/image.jpg",
    preset="segmentation"
)

# Test prompts
validate_prompt(prompt="increase brightness and add noise")

# Process from URL (two-step)
session = load_image_for_processing(image_source="https://example.com/image.jpg")
# Use the returned session_id from the previous call
augment_image(session_id="<session_id>", prompt="add blur and rotate 10 degrees")

Features

  • Natural Language Processing - Convert English descriptions to transforms
  • Preset Pipelines - Pre-configured transforms for common use cases
  • Reproducible Results - Seeding support for consistent outputs
  • MCP Protocol Compliant - Full MCP implementation with tools, prompts, and resources
  • Comprehensive Documentation - Built-in guides, examples, and troubleshooting resources
  • Production Ready - Comprehensive testing, error handling, and structured logging
  • Multi-Source Input - Works with local file paths, base64 payloads, and URLs (via loader)

Documentation

Configuration Files

License

MIT License - see LICENSE for details.

Contact: ramsi.kalia@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

albumentations_mcp-1.0.2.tar.gz (103.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

albumentations_mcp-1.0.2-py3-none-any.whl (120.4 kB view details)

Uploaded Python 3

File details

Details for the file albumentations_mcp-1.0.2.tar.gz.

File metadata

  • Download URL: albumentations_mcp-1.0.2.tar.gz
  • Upload date:
  • Size: 103.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for albumentations_mcp-1.0.2.tar.gz
Algorithm Hash digest
SHA256 0f43b2b336eb5539afac67677b98e88dd26a7232878bd95c00f5681949408a19
MD5 02ab94c7196ea567f20a9b0ad803912b
BLAKE2b-256 ed9107e0c10faa67185e4e28607dab997ba46f3826f4004bab4af11052056d65

See more details on using hashes here.

File details

Details for the file albumentations_mcp-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for albumentations_mcp-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 75034dc968bd1a79e3accde67be236ce612936392fc77996356a90e93e7c3d58
MD5 02729a8f79f741e6d701f851a317d14b
BLAKE2b-256 f52c3caca365d9a341f820e694c79a428845f51950f145022525f2bb00092613

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page