FLUX Image Generator MCP Server logo

FLUX Image Generator MCP Server

by frankdeno

An MCP server for generating images using Black Forest Lab's FLUX model. It utilizes the latest MCP SDK to provide image generation capabilities based on text prompts.

View on GitHub

Last updated: N/A

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

  1. Clone this repository
  2. Install dependencies:
npm install
  1. Create a .env file based on .env.example and add your Black Forest Lab API key:
BFL_API_KEY=your_api_key_here
  1. 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 generate
  • width (number, optional, default: 1024): Width of the image in pixels
  • height (number, optional, default: 1024): Height of the image in pixels
  • promptUpsampling (boolean, optional, default: false): Enhance detail by upsampling the prompt
  • seed (number, optional): Random seed for reproducible results
  • safetyTolerance (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 images
  • height (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