Flux Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Flux Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <a href="https://bfl.ai"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://bfl.ai/brand/logotype-white.svg"> <source media="(prefers-color-scheme: light)" srcset="https://bfl.ai/brand/logotype-black.svg"> <img alt="Black Forest Labs" src="https://bfl.ai/brand/logotype-black.svg" width="220"> </picture> </a> </p>
<h1 align="center">FLUX MCP</h1>
<p align="center"> <strong>Bring FLUX into the tools you already use.</strong><br> Generate, edit, vary, and browse FLUX and videos from any MCP-compatible client. </p>
<p align="center"> <a href="https://registry.modelcontextprotocol.io/?q=io.github.black-forest-labs%2Fflux-mcp"><img alt="MCP Registry" src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fregistry.modelcontextprotocol.io%2Fv0.1%2Fservers%2Fio.github.black-forest-labs%252Fflux-mcp%2Fversions%2Flatest&query=%24.server.version&label=MCP%20Registry&logo=modelcontextprotocol&color=b9b5d0"></a> <a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-07130e.svg"></a> <a href="https://docs.bfl.ai/api_integration/mcp_integration"><img alt="Docs" src="https://img.shields.io/badge/Docs-docs.bfl.ai-07130e"></a> </p>
<p align="center"> <a href="#install">Install</a> · <a href="#showcase">Showcase</a> · <a href="#tools">Tools</a> · <a href="#prompting-skills">Skills</a> · <a href="#example-prompts">Examples</a> · <a href="#troubleshooting">Troubleshooting</a> </p>
<p align="center"> <video src="https://github.com/black-forest-labs/flux-mcp/raw/main/assets/demo.mp4" controls width="100%"></video> </p>
The FLUX MCP server exposes the full FLUX toolkit — text-to-image, image editing, multi-reference composition, virtual try-on, FLUX 3 video, variations, and history — to any client that speaks the Model Context Protocol. Generate options in parallel, edit attached images through prompts, try garments on a photo, animate stills into clips with audio, and branch into variations from any result you like. No API code, no keys pasted into the conversation.
https://mcp.bfl.ai. Sign in with your BFL account, pick the org to bill — done.<details open> <summary><strong>Claude — Desktop & claude.ai</strong></summary>
FLUX, URL https://mcp.bfl.ai.</details>
<details> <summary><strong>Claude Code</strong></summary>
claude mcp add --transport http FLUX https://mcp.bfl.aiA browser opens on first use for OAuth. Tokens refresh automatically.
</details>
<details> <summary><strong>Cursor</strong></summary>
One-click: Add to Cursor — opens Cursor with the FLUX server pre-filled.
Manual — add to .cursor/mcp.json:
{
"mcpServers": {
"FLUX": {
"url": "https://mcp.bfl.ai"
}
}
}</details>
<details> <summary><strong>Codex</strong></summary>
codex mcp add flux --url https://mcp.bfl.ai
codex mcp login fluxOr append to ~/.codex/config.toml:
[mcp_servers.flux]
url = "https://mcp.bfl.ai"</details>
<details> <summary><strong>Windsurf</strong></summary>
Edit ~/.codeium/windsurf/mcp_config.json (note Windsurf uses serverUrl, not url):
{
"mcpServers": {
"FLUX": {
"serverUrl": "https://mcp.bfl.ai"
}
}
}Reload plugins from the Cascade panel. The first FLUX call opens a browser for sign-in.
</details>
<details> <summary><strong>Other MCP clients (stdio bridge via <code>mcp-remote</code>)</strong></summary>
For clients that support stdio MCP but don't handle the OAuth flow themselves — for example Hermes (Nous Research) and similar tools that only accept static bearer tokens:
{
"mcpServers": {
"FLUX": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.bfl.ai"]
}
}
}mcp-remote opens a browser for OAuth, caches tokens to ~/.mcp-auth/, and refreshes them automatically.
</details>
"Generate 4 editorial portrait variants — varied lighting, palette, and mood."
<p align="center"> <img src="https://cdn.sanity.io/images/2gpum2i6/production/c3f2d4e1211258390694350b73564199b0ec1f9b-1440x1792.jpg" width="24%"> <img src="https://cdn.sanity.io/images/2gpum2i6/production/a4016c043d3afb049d51381b0695d52411030026-1440x1792.jpg" width="24%"> <img src="https://cdn.sanity.io/images/2gpum2i6/production/d3e95a7892d15aa647ea098bdf66256cc5d4de31-1440x1792.jpg" width="24%"> <img src="https://cdn.sanity.io/images/2gpum2i6/production/f6eaa9ed0645cdd9df0ceeaf5962477958c15be4-1440x1792.jpg" width="24%"> </p>
"A top-down aerial photograph of shallow desert salt pools, intense direct sunlight."
<p align="center"> <img src="https://cdn.sanity.io/images/2gpum2i6/production/0dc6f45f41c1e8d2b6606285b4c785d6cfc586e0-1920x1440.jpg" width="100%"> </p>
"Add a camel on the sand."
<table> <tr> <td align="center"><strong>Before</strong></td> <td align="center"><strong>After</strong></td> </tr> <tr> <td><img src="https://cdn.sanity.io/images/2gpum2i6/production/0dc6f45f41c1e8d2b6606285b4c785d6cfc586e0-1920x1440.jpg"></td> <td><img src="https://cdn.sanity.io/images/2gpum2i6/production/627eb91f1da5299c96c1d591b0bbc48368c4e2f2-1920x1440.jpg"></td> </tr> </table>
"Show me my recent FLUX generations."
Every generation is saved. Tap any tile to edit, vary, or download. Variations branch off any past image in one click.
Your client picks which tool to call based on your prompt — you don't need to invoke them by name.
| Tool | What it does |
|---|---|
generate_image | Generate 1–8 images in parallel. Covers text-to-image, edits, multi-reference composition, style transfer, inpainting-style edits, and outpainting — all through prompts. |
vto | Virtual try-on — dress a person (or pet) in a garment, hat, sunglasses, shoes, bag, or any wearable from a reference image. Preserves face, hair, and pose; only the worn item changes. |
generate_video | Generate 1–4 videos in parallel with FLUX 3 — text-to-video, image-to-video from keyframes, or continuation of an existing video. 5–20 seconds, synchronized audio. |
enhance_video | Re-render a draft video at full quality — the same composition, seed, and prompt plan as the draft you picked. |
generate_variations | Produce N more images in the same direction as a previous generation (identified by request_id). Defaults to 4, max 8. |
get_history | List recent generations as a thumbnail grid with per-tile Variations / Edit / copy / download actions. Keyset pagination, date filters. |
get_credits | Return your remaining BFL credit balance. |
list_skills | List the official BFL prompting guides — image best practices, video direction, audio and dialogue, keyframes, product ads, archival looks, API integration. |
get_skill | Fetch one guide by name. Long guides return an intro plus a section index; fetch the sections the task needs. |
Available on generate_image:
| Model | Use it for |
|---|---|
flux2_pro_preview (default) | Everyday work — best balance of quality and speed |
flux2_max | Hero shots, final assets — highest quality |
flux2_klein_9b_preview | Faster iterations, up to 4 input images |
flux2_klein_4b | Fastest option |
flux2_flex | Typography and readable text |
The full catalog, per-model reference-image limits, the FLUX Tools (vto), and FLUX 3 video are also exposed as the bfl://models MCP resource.
generate_video renders 24fps MP4 clips of 5–20 seconds with synchronized audio, up to 4 in parallel per call. Every request uses one of three modes:
| Mode | Input | What you get |
|---|---|---|
t2v | Prompt only | A clip generated from your description |
i2v | Prompt + 1–10 keyframe images | One keyframe animates a still from its exact opening frame; two bridge an opening and a closing frame; 3–10 form a storyboard spread evenly across the clip (explicit duration required) |
v2v | Prompt + a source video | A continuation of the source's final seconds, audio included |
request_id), an uploaded image, or a public URL. Optional per-keyframe timestamps (in seconds, ascending — set on all keyframes or none) pin exact positions in the clip; with duration set to auto, the clip runs to the last timestamp (20 seconds max).v2v are a prior generate_video result, an attached MP4 up to 50 MB, or a public MP4 URL.duration: 5–20 seconds or auto (default). aspect_ratio: auto (default), 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, or 9:16. resolution: hd (default, 704p-class) or fhd (finished by a video upsampler on a 1080p-class canvas). generate_audio: on by default.draft: true renders a fast low-step preview of the exact planned generation (hd only). Batch cheap drafts, pick the winner, and enhance_video re-renders it at full quality from its request_id.request_id; results survive closing the chat and resume automatically.r2v mode follows later.The server ships specialist prompting guides from black-forest-labs/skills and serves them three ways, so every client gets at least one. These guides cover focused workflows; a general FLUX 3 prompting guide is not included yet:
list_skills and get_skill(name). Works everywhere, including ChatGPT.bfl://skills/<name> for clients with resource pickers (Claude, Cursor).skill_<name_with_underscores> slash-prompts where the client supports them (e.g. skill_flux_image_best_practices).Ask "what FLUX skills do you have?", or just request something specialized like a product ad, Super 8 footage, dialogue direction. The generation tools point your client at the matching guide before it writes the prompt.
Try these in your client once FLUX is connected:
Generate 4 editorial portrait variants — varied lighting, palette, and mood.
Use FLUX.2 [pro] at 1440×1792.A top-down aerial photograph of shallow desert salt pools at golden hour,
intense direct sunlight, #FF6B6B and #F5E6D3 mineral deposits, FLUX.2 [max].[attach an image]
Add a camel on the sand. Preserve the rest of the composition exactly.Generate a movie poster with the title "MIRAGE" in 1970s grindhouse type,
high-contrast cyan and orange. Use FLUX.2 [flex].[attach a selfie]
Try this on me — a red Nike Tech Fleece hoodie, oversized fit.[attach an image]
Animate this into a 10-second clip — slow push-in, wind through the palms,
distant surf.Generate 3 draft videos of a paper lantern rising over a night market,
each with a different camera move. I'll enhance the best one.Show me my recent FLUX generations.[click Variations on a past image]
4 more like this one, vary the lighting.#FF6B6B (coral pink) is more precise than "pinkish red".The server exposes specialist guides for focused workflows. A general FLUX 3 prompting guide is not included yet.
<details> <summary><strong>Tools don't appear after connecting</strong></summary>
claude mcp list should show the server.codex mcp list should show flux. Start a new Codex session after adding.</details>
<details> <summary><strong>Refreshing tools or reconnecting the server</strong></summary>
/mcp shows status and reauth. Full rebuild: claude mcp remove FLUX
claude mcp add --transport http FLUX https://mcp.bfl.aicodex mcp login flux. Full rebuild: codex mcp remove flux
codex mcp add flux --url https://mcp.bfl.airm -rf ~/.mcp-auth and restart the client to force a fresh OAuth.</details>
<details> <summary><strong>Authentication or billing errors</strong></summary>
</details>
<details> <summary><strong>A generation keeps loading</strong></summary>
Large batches, FLUX.2 [max], or complex edits take longer than smaller generations. Visual MCP clients update the image view automatically.
Video renders take minutes — long clips up to about an hour. They return a pending request immediately and resume automatically, even if you close the chat and come back later.
</details>
<details> <summary><strong>Attached image or video editing fails</strong></summary>
Your MCP client needs permission to upload attached media to BFL. If your client blocks outbound HTTPS from its sandbox, allow *.bfl.ai or pass a public URL instead. Video uploads are MP4 only, up to 50 MB.
</details>
<details> <summary><strong>Switching the billed organization</strong></summary>
Disconnect the FLUX connector in your client and reconnect it. The OAuth flow will prompt you to select an organization again.
</details>
MCP and Agent Skills solve different problems:
| MCP (this repo) | Agent Skills | |
|---|---|---|
| What it does | Generates, edits, varies, and browses images directly in chat | Teaches your coding agent how to write FLUX API code |
| Best for | Creative work inside Claude or another MCP client | Building applications that call the FLUX API |
Use both. They complement each other and the skills repo's prompting guides are served directly over MCP too (see Prompting skills).
MIT © Black Forest Labs
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.