bfl-flux-mcp
Minimal Python MCP server for Black Forest Labs Flux image generation API, providing tools for text-to-image, editing, expansion, variations, and credit checking.
README
BFL Flux MCP Server
Minimal Python MCP server for Black Forest Labs Flux image generation API.
Features
-
Seven comprehensive tools:
generate_image- Text-to-image with model selectionedit_image- Image editing with natural languageexpand_image- Directional outpainting (add pixels to any side)create_variation- Create variations of an image using Redux (image_prompt)save_image- Download and save images before URLs expirecheck_credits- Verify API key and credit balancelist_finetunes- View your custom finetuned models
-
All Flux models supported:
- Generation:
flux-pro-1.1(default),flux-pro-1.1-ultra,flux-2-pro,flux-2-flex,flux-2-max,flux-pro,flux-dev - Editing:
kontext-pro,kontext-max,fill-pro - Expansion:
expand-pro
- Generation:
-
Full API parameter support:
- Aspect ratio or custom dimensions
- Prompt upsampling for enhanced output
- Output format (PNG/JPEG)
- Safety tolerance levels
- Model-specific: guidance, steps, raw mode
Installation
# With uv (recommended)
uv sync
# With pip
pip install -e .
Configuration
Get your API key at api.bfl.ml
export BFL_API_KEY="your-api-key-here"
Claude Code / MCP Config
Add to .mcp.json:
{
"mcpServers": {
"bfl-flux": {
"command": "uv",
"args": ["run", "--project", "/path/to/bfl-flux-mcp", "bfl-flux-mcp"],
"env": {
"BFL_API_KEY": "${BFL_API_KEY}"
}
}
}
}
Or with uvx (once published):
{
"mcpServers": {
"bfl-flux": {
"command": "uvx",
"args": ["bfl-flux-mcp"],
"env": {
"BFL_API_KEY": "${BFL_API_KEY}"
}
}
}
}
Usage
Check Credits
Verify your API key is working and check balance:
Check my BFL credits
Generate Image
Generate an image of a mountain landscape at sunset, photorealistic style
Parameters:
| Parameter | Description | Default |
|---|---|---|
prompt |
Text description (required) | - |
model |
Model to use | flux-pro-1.1 |
aspect_ratio |
1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 9:21 |
1:1 |
width/height |
Custom dimensions (multiple of 16, max 2048) | - |
seed |
For reproducibility | - |
safety_tolerance |
0 (strict) to 6 (permissive) | 2 |
prompt_upsampling |
Enhance prompt for richer output | false |
output_format |
png or jpeg |
png |
guidance |
Prompt adherence 1.5-10 (flux-2-flex only) | - |
steps |
Generation steps 1-50 (flux-2-flex only) | - |
raw |
Raw mode (flux-pro-1.1-ultra only) | false |
Edit Image
Edit this image to add a rainbow in the sky
Parameters:
| Parameter | Description | Default |
|---|---|---|
prompt |
Edit instructions (required) | - |
image |
Base64-encoded image or URL (required) | - |
model |
kontext-pro, kontext-max, fill-pro |
kontext-pro |
aspect_ratio |
Output aspect ratio | preserve |
seed |
For reproducibility | - |
safety_tolerance |
0-2 | 2 |
Expand Image
Expand an image by adding pixels to any side (outpainting):
Expand the image by 256 pixels on the right side
Parameters:
| Parameter | Description | Default |
|---|---|---|
image |
Image to expand: path, URL, or base64 (required) | - |
prompt |
Optional guidance for the expansion | - |
top |
Pixels to add to top (0-2048) | 0 |
bottom |
Pixels to add to bottom (0-2048) | 0 |
left |
Pixels to add to left (0-2048) | 0 |
right |
Pixels to add to right (0-2048) | 0 |
seed |
For reproducibility | - |
safety_tolerance |
0-6 | 2 |
output_format |
png or jpeg |
png |
Save Image
Download and save a generated image before the URL expires (10 min):
Save that image to /path/to/logo.png
Parameters:
| Parameter | Description | Default |
|---|---|---|
url |
Image URL from generate/edit result (required) | - |
path |
Destination file path (required) | - |
List Finetunes
View your custom finetuned models:
Show my finetuned models
No parameters required.
Create Variation
Create variations of an existing image that maintain its essence while applying optional text guidance:
Create a variation of this image with a warmer color palette
Parameters:
| Parameter | Description | Default |
|---|---|---|
image |
Source image: path, URL, or base64 (required) | - |
prompt |
Optional text guidance for the variation | - |
model |
flux-pro-1.1, flux-pro-1.1-ultra, flux-dev |
flux-pro-1.1 |
aspect_ratio |
Output aspect ratio | 1:1 |
seed |
For reproducibility | - |
safety_tolerance |
0-6 | 2 |
output_format |
png or jpeg |
png |
Pricing
| Model | Credits | USD |
|---|---|---|
| flux-pro-1.1 | 4 | $0.04 |
| flux-pro-1.1-ultra | 6 | $0.06 |
| flux-2-pro | 5 | $0.05 |
| flux-2-flex | 1-5 | $0.01-0.05 |
| flux-2-max | 6 | $0.06 |
| kontext-pro | 4 | $0.04 |
| kontext-max | 8 | $0.08 |
| expand-pro | 4 | $0.04 |
1 credit = $0.01 USD
Note: Credits used are shown in tool responses when available.
Development
# Install with dev dependencies
uv sync --extra dev
# Run linter
uv run ruff check .
# Format code
uv run ruff format .
# Run tests
uv run pytest -v
# Run tests with coverage
uv run pytest --cov=bfl_flux_mcp --cov-report=term-missing
License
MIT - see LICENSE
Links
- BFL API Documentation
- BFL Playground (free testing)
- GitLab Repository
- GitHub Mirror
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.