FLUX Image Generator MCP Server
An MCP (Model Context Protocol) server for generating images using Black Forest Lab's FLUX model. Uses the latest MCP SDK (v1.7.0).
Features
- Generate images based on text prompts
- Customize image dimensions, prompt upsampling, and safety settings
- Save generated images locally
- Batch image generation from multiple prompts
Prerequisites
- Node.js (v18.0.0 or higher)
- Black Forest Lab API key (get one at https://api.bfl.ml)
Installation
From Source
- Clone this repository
- Install dependencies:
npm install
- Create a
.env
file based on.env.example
and add your Black Forest Lab API key:
BFL_API_KEY=your_api_key_here
- Build the project:
npm run build
Using npm
npm install -g @modelcontextprotocol/server-flux-image-generator
Usage
Starting the MCP Server
Start the server with:
npm start
For development with auto-recompilation:
npm run watch
Integrating with MCP Clients
To use this server with MCP clients (like Claude), add the following to your client's configuration:
{
"mcpServers": {
"flux-image-generator": {
"command": "mcp-server-flux-image-generator",
"env": {
"BFL_API_KEY": "your_api_key_here"
}
}
}
}
Available Tools
generateImage
Generates an image based on a text prompt with customizable settings.
Parameters:
prompt
(string, required): Text description of the image to generatewidth
(number, optional, default: 1024): Width of the image in pixelsheight
(number, optional, default: 1024): Height of the image in pixelspromptUpsampling
(boolean, optional, default: false): Enhance detail by upsampling the promptseed
(number, optional): Random seed for reproducible resultssafetyTolerance
(number, optional, default: 3): Content moderation tolerance (1-5)
Example:
{
"prompt": "A serene lake at sunset with mountains in the background",
"width": 1024,
"height": 768,
"promptUpsampling": true,
"seed": 12345,
"safetyTolerance": 3
}
quickImage
A simplified tool for quickly generating images with default settings.
Parameters:
prompt
(string, required): Text description of the image to generate
Example:
{
"prompt": "A futuristic cityscape with flying cars"
}
batchGenerateImages
Generates multiple images from a list of prompts.
Parameters:
prompts
(array of strings, required): List of text prompts (maximum 10)width
(number, optional, default: 1024): Width of the imagesheight
(number, optional, default: 1024): Height of the images
Example:
{
"prompts": [
"A serene lake at sunset",
"A futuristic cityscape",
"A magical forest with glowing plants"
],
"width": 1024,
"height": 768
}
Output Format
All tools return responses in this format:
{
"image_url": "https://storage.example.com/generated_image.jpg",
"local_path": "/path/to/output/flux_1234567890.png"
}
For errors:
{
"error": true,
"message": "Error description"
}
The batch tool returns:
{
"total": 3,
"successful": 2,
"failed": 1,
"results": [
{
"prompt": "A serene lake at sunset",
"success": true,
"image_url": "https://storage.example.com/image1.jpg",
"local_path": "/path/to/output/flux_batch_1234567890_0.png"
},
{
"prompt": "A futuristic cityscape",
"success": true,
"image_url": "https://storage.example.com/image2.jpg",
"local_path": "/path/to/output/flux_batch_1234567890_1.png"
},
{
"prompt": "Prohibited content",
"success": false,
"error": "Content policy violation"
}
]
}
License
MIT