Universal Image Generator MCP Server
A multi-provider AI image generation server that allows users to create and transform images using Google (Imagen & Gemini), ZHIPU AI CogView-4, or Alibaba Bailian through any MCP-compatible application.
README Documentation
Universal Image Generator MCP Server
This project is a fork and rewrite of the original: https://github.com/qhdrl12/mcp-server-gemini-image-generator repo.
Multi-provider AI image generation server for MCP clients. Generate high-quality images using Google (Imagen & Gemini), ZHIPU AI CogView-4, or Alibaba Bailian through any MCP-compatible application.
Features
- Multi-Provider Support: Choose between Google (Imagen/Gemini), ZhipuAI, or Bailian
- Image Generation: Text-to-image for all providers
- Image Transformation: Edit existing images (Google & Bailian only)
- Smart Language Optimization: Automatic prompt translation and optimization
- Local Storage: Save generated images to your specified directory
Quick Setup
1. Install via uvx
No manual installation required! The server will be automatically downloaded and run.
2. Get API Keys
Choose one provider and get an API key:
- Google: Google AI Studio (supports both Imagen and Gemini models)
- ZhipuAI: ZHIPU AI Platform
- Bailian: Alibaba DashScope
3. Configure MCP Client
Add to your MCP client configuration (e.g., claude_desktop_config.json
):
{
"mcpServers": {
"universal-image-generator": {
"command": "uvx",
"args": [
"universal-image-generator-mcp"
],
"env": {
"IMAGE_PROVIDER": "google",
"GOOGLE_MODEL": "gemini",
"ZHIPU_API_KEY": "your-api-key-here",
"GEMINI_API_KEY": "your-api-key-here",
"DASHSCOPE_API_KEY": "your-api-key-here",
"OUTPUT_IMAGE_PATH": "/path/to/save/images"
}
}
}
}
Environment Variables:
IMAGE_PROVIDER
:"google"
,"zhipuai"
, or"bailian"
GOOGLE_MODEL
:"gemini"
or"imagen"
(only for Google provider, defaults to "gemini")- Set the corresponding API key for your chosen provider
OUTPUT_IMAGE_PATH
: Directory to save generated images (optional)
Available Tools
generate_image_from_text
Create images from text descriptions.
generate_image_from_text(prompt: str, model_type: Optional[str] = None) -> str
Parameters:
prompt
: Text description of the image to generatemodel_type
: Optional model selection for Google provider ("gemini"
or"imagen"
)- Only applies to Google provider
- If not specified, uses
GOOGLE_MODEL
environment variable (defaults to "gemini")
transform_image_from_encoded
(Google & Bailian only)
Transform images using base64-encoded image data.
transform_image_from_encoded(encoded_image: str, prompt: str) -> str
transform_image_from_file
(Google & Bailian only)
Transform existing image files.
transform_image_from_file(image_file_path: str, prompt: str) -> str
Usage Examples
Once configured, ask your AI assistant:
- "Generate an image of a sunset over mountains"
- "Create a 3D rendered flying pig in a sci-fi city"
- "Transform this image by adding snow to the scene"
Generated images are saved to your configured output directory.
Example Output
Prompt: "Create a 3D rendered image of a pig with wings and a top hat flying over a futuristic sci-fi city with lots of greenery"
Transform: "Add a cute baby whale flying alongside the pig"
Provider Capabilities
Provider | Models | Generation | Transformation | Language Optimization |
---|---|---|---|---|
Imagen, Gemini | ✅ | ✅ (Gemini only) | English prompts | |
ZhipuAI | CogView-4 | ✅ | ❌ | Chinese prompts |
Bailian | WanX-2.1 | ✅ | ✅ | Chinese prompts |
Note: For Google provider, image transformation is only supported with Gemini models. Imagen is for generation only.
Development
Test the server locally:
git clone https://github.com/ECNU3D/universal-image-generator-mcp.git
cd universal-image-generator-mcp
fastmcp dev src/universal_image_generator_mcp/server.py
Visit http://localhost:5173/ to use the MCP Inspector for testing.
License
MIT License