Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

levisnkyyyy-images-mcp

yourusername1.1kMIT2.1.8TypeScript support: included

Model Context Protocol server for AI image and video generation using LiteLLM and fal.ai

mcp, model-context-protocol, ai, image-generation, image-editing, litellm, openai, dall-e, flux-pro, flux-max, veo3, fal-ai, video-generation

readme

images-mcp

Model Context Protocol server for AI image and video generation using LiteLLM and fal.ai.

Features

  • Image Generation: Generate images from text prompts using various AI models
  • Image Editing: Edit existing images with masks and prompts
  • Video Generation: Generate videos from text prompts using Veo3
  • Multiple Models: Support for OpenAI DALL-E, Google Imagen (3.0, 4.0, 4.0 Ultra), and fal.ai models (Flux Pro, Flux Max)
  • Flexible Sizing: Generate images in various sizes up to 4096x4096
  • Batch Generation: Generate multiple images at once (1-4 images)

Installation

npm install -g images-mcp

Configuration

The server requires LiteLLM and/or fal.ai to be configured. Set the following environment variables:

  • LITELLM_URL: URL of your LiteLLM instance (default: http://litellm:4000)
  • LITELLM_KEY: API key for LiteLLM authentication (optional)
  • FAL_API_KEY: API key for fal.ai models (required for Flux Pro, Flux Max, and Veo3)

Usage

As an MCP Server

Add to your MCP client configuration:

{
  "mcpServers": {
    "images": {
      "command": "images-mcp",
      "env": {
        "LITELLM_URL": "http://your-litellm-instance:4000",
        "LITELLM_KEY": "your-api-key",
        "FAL_API_KEY": "your-fal-api-key"
      }
    }
  }
}

Available Tools

image_generation

Generate images from text prompts.

Parameters:

  • prompt (required): Text description of the image to generate
  • project_folder (required): Path to the folder where generated images will be saved
  • image_name (required): Base filename for the generated image(s) (without extension)
  • model (optional): Model to use (default: "gpt-image-1-openai")
  • size (optional): Image size - "256x256", "512x512", or "1024x1024" (default: "1024x1024")
  • n (optional): Number of images to generate, 1-4 (default: 1)

Example:

{
  "tool": "image_generation",
  "arguments": {
    "prompt": "A serene mountain landscape at sunset",
    "project_folder": "/home/user/images",
    "image_name": "mountain_sunset",
    "size": "1024x1024",
    "n": 2
  }
}

This will save images as:

  • /home/user/images/mountain_sunset_1.png
  • /home/user/images/mountain_sunset_2.png

image_edit

Edit existing images based on prompts and optional masks.

Parameters:

  • image_path (required): Full path to the image file to edit
  • prompt (required): Text description of how to edit the image
  • project_folder (required): Path to the folder where edited images will be saved
  • image_name (required): Base filename for the edited image(s) (without extension)
  • mask (optional): Base64 encoded mask indicating areas to edit
  • model (optional): Model to use (default: "gpt-image-1-openai")
  • size (optional): Output image size (default: "1024x1024")
  • n (optional): Number of edited versions to generate, 1-4 (default: 1)

Example:

{
  "tool": "image_edit",
  "arguments": {
    "image_path": "/home/user/images/landscape.png",
    "prompt": "Add a rainbow in the sky",
    "project_folder": "/home/user/images/edited",
    "image_name": "landscape_with_rainbow",
    "mask": "base64_encoded_mask_data"
  }
}

This will:

  1. Read the image from /home/user/images/landscape.png
  2. Apply the edits based on the prompt
  3. Save the edited image as /home/user/images/edited/landscape_with_rainbow.png

Development

# Clone the repository
git clone https://github.com/yourusername/images-mcp.git
cd images-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

Requirements

  • Node.js >= 16.0.0
  • LiteLLM instance with image generation models configured

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.