MCP Image Generator
# MCP Image Generator
A Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
## Features
- Generate high-quality images from text prompts
- Support for multiple anime and artistic styles:
- Ghibli Style
- Pixar Style
- Pokemon Style
- Genshin Impact Style
- Cyberpunk Style
- One Piece Style
- Attack on Titan Style
- Shinkai Makoto Style
- Sailor Moon Style
- Evangelion Style
- Disney Princess Style
- Kyoto Animation Style
- Dreamworks Animation Style
- Marvel Studios Style
- DC Comics Style
- Kawaii Pastel Style
- Simpsons Style
- Dragon Ball Style
- Demon Slayer Style
- Warner Bros Animation Style
- Dark Fantasy Style
- And many more Japanese anime styles
- Multiple image size options:
- Square (512x512)
- Square HD (1024x1024)
- Portrait 4:3 (768x1024)
- Portrait 16:9 (576x1024)
- Landscape 4:3 (1024x768)
- Landscape 16:9 (1024x576)
- Generate multiple images in one request (up to 4)
- Image upscaling (4x resolution enhancement)
- Image search and replace functionality
- Built-in NSFW content detection
## Installation
1. Clone the repository:
```bash
git clone [repository-url]
cd aiimagemultistyle
```
2. Install dependencies:
```bash
npm install
```
3. Configure environment variables:
Create a `.env` file with the following content:
```
FALAI_API_KEY=your_fal_ai_key_here
```
## Usage
### MCP Server Configuration
To use the MCP Image Generator server, add it to your `mcpServers` configuration:
```json
{
"mcpServers": {
"image-generator": {
"command": "npx",
"args": ["-y", "aiimagemultistyle"]
}
}
}
```
You can also specify additional configuration options:
```json
{
"mcpServers": {
"image-generator": {
"command": "npx",
"args": [
"-y",
"aiimagemultistyle",
"--mode=rest",
"--port=9593",
"--endpoint=/rest"
],
"env": {
"FALAI_API_KEY": "your_fal_ai_key_here"
}
}
}
}
```
### Starting the Server
The server can run in two modes:
1. STDIO mode (default):
```bash
npm start
```
2. REST mode:
```bash
npm start -- --mode=rest --port=9593 --endpoint=/rest
```
### API Reference
#### Generate Image
**Request Format:**
```json
{
"name": "generate_image",
"arguments": {
"prompt": "A beautiful sunset over mountains",
"style": "ghibli-style",
"num_images": 1,
"size": "square_hd"
}
}
```
**Parameters:**
- `prompt` (required): Text description of the image to generate
- `style` (optional): Image style (default: "ghibli-style")
- Available styles: See the Features section above for the complete list
- `num_images` (optional): Number of images to generate (1-4, default: 1)
- `size` (optional): Image size (default: "square_hd")
- Available sizes: "square", "square_hd", "portrait_4_3", "portrait_16_9", "landscape_4_3", "landscape_16_9"
#### Upscale Image
**Request Format:**
```json
{
"name": "upscale_image",
"arguments": {
"image_url": "https://example.com/image.jpg"
}
}
```
**Parameters:**
- `image_url` (required): URL of the image to upscale
#### Search and Replace
**Request Format:**
```json
{
"name": "search-and-replace",
"arguments": {
"image_url": "https://example.com/image.jpg",
"mask_url": "https://example.com/mask.jpg",
"prompt": "Description of the replacement"
}
}
```
**Parameters:**
- `image_url` (required): URL of the image to edit
- `mask_url` (required): URL of the mask image (black areas preserved, white areas inpainted)
- `prompt` (required): Description of the replacement content
## Development
- `npm run build`: Build the project
- `npm run watch`: Watch mode for development
- `npm run inspector`: Run MCP inspector
## Error Handling
The server provides detailed error messages for common issues:
- Missing API key
- Invalid prompt
- Invalid style or size parameters
- API request failures
- NSFW content detection
## License
MIT
TDQS
Scored across 3 tools
Each tool targets a clearly distinct operation: generating new images, editing objects in existing images, and upscaling resolution. There is no overlap in purpose, so an agent can reliably distinguish them.
Two tools (generate_image, upscale_image) follow a consistent verb_noun pattern, but search-and-replace uses a hyphenated phrase, breaking the pattern. The inconsistency is minor and does not impede understanding.
With 3 tools, the server is borderline small for a comprehensive image service, but it covers core tasks (generation, editing, enhancement). The count feels slightly thin but not unreasonable.
The tools cover generation, editing, and upscaling, but lack common operations like cropping, resizing, or style transfer. The editing tool is limited to object replacement, leaving gaps for general image manipulation.