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 generateproject_folder
(required): Path to the folder where generated images will be savedimage_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 editprompt
(required): Text description of how to edit the imageproject_folder
(required): Path to the folder where edited images will be savedimage_name
(required): Base filename for the edited image(s) (without extension)mask
(optional): Base64 encoded mask indicating areas to editmodel
(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:
- Read the image from
/home/user/images/landscape.png
- Apply the edits based on the prompt
- 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.