图像生成服务

FLUX MCP Server & CLI 是一个使用FLUX.1-dev和FLUX.2-dev模型生成高质量图像的模型上下文协议服务器和命令行工具,支持NVIDIA GPU (CUDA)、AMD GPU (ROCm) 和 Apple Silicon (MPS)。

  • by tehw0lf
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 tehw0lf/flux-mcp

使用说明

FLUX MCP服务器和命令行界面

一种模型上下文协议(MCP)服务器和命令行工具,用于使用FLUX.1-dev和FLUX.2-dev生成高质量图像。在NVIDIA GPU(CUDA)、AMD GPU(ROCm)和Apple Silicon(MPS)上运行。

特性

  • 🎨 双模型支持 -FLUX.1-dev(质量更快,CUDA上4-8min)和FLUX.2-dev(最大质量,CUDA下30-40min)
  • 🔴 AMD GPU支持 -在ROCm(RX 6000/7000系列和推荐的RDNA2+)上运行,VRAM层与CUDA相同
  • 🍎 苹果硅技术支持 -在MPS(M1/M2/M3/M4)上运行,自动使用FLUX.1-dev作为默认值
  • ⚡ 智能内存管理 -根据可用VRAM(CUDA)或统一内存(MPS)自动选择最佳策略
  • 🔄 自动卸载 -在可配置的非活动期(MCP模式)后自动卸载模型
  • 💾 内存效率高 -16GB CUDA GPU的顺序CPU卸载,24GB的全GPU模式+
  • 🎲 可复现的 -基于种子的生成可获得一致的结果
  • 📊 状态监测 -检查型号状态和内存使用情况
  • 🔧 运行时配置 -调整超时和切换型号,无需重新启动
  • 🖥️ 双接口 -通过MCP兼容的应用程序或命令行(CLI)使用
  • 🖼️ 预览工具 -背景生成完成后,按ID检索生成的图像

需求

NVIDIA GPU(Linux/Windows)

  • Python 3.10+
  • 配备12GB+VRAM的NVIDIA GPU(建议使用16GB,最高速度为24GB+)
  • CUDA工具包已安装
  • 支持CUDA的PyTorch

AMD GPU/ROCm(Linux)

  • Python 3.10+
  • 支持ROCm的AMD GPU(建议使用RDNA2+/RX 6000系列或更高版本),12GB+VRAM
  • 已安装ROCm工具包(5.7+)
  • 支持ROCm的PyTorch(参见 AMD/ROCm安装 在......下面

苹果硅(macOS)

  • Python 3.10+
  • 配备Apple Silicon(M1或更高版本)的Mac,16GB+统一内存
  • PyTorch 2.4+(标准PyPI轮,无需CUDA)
  • 使用Mac附加功能安装: uv sync --extra mac

快速开始

在几分钟内开始使用FLUX MCP:

# 1. Install dependencies (using UV - recommended)
uv sync

# 2. Configure environment
cp .env.example .env
# Edit .env to set FLUX_OUTPUT_DIR and other preferences

# 3. Add to your MCP client config (example for Claude Desktop)
# Add to ~/.config/Claude/claude_desktop_config.json (Linux)
# See "MCP Configuration" section below for full details

# 4. Generate your first image (CLI mode)
flux generate "a beautiful sunset over mountains"

# Or use via MCP client (e.g., Claude Desktop)
# Just ask: "Generate an image of a beautiful sunset over mountains"

有关详细的设置和配置,请参阅以下部分。

MCP配置

将服务器添加到MCP客户端配置中。以下是Claude Desktop的示例:

Claude Desktop配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "flux": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/flux-mcp",
        "run",
        "flux-mcp"
      ]
    }
  }
}

安全说明:保持 FLUX_OUTPUT_DIR 以及中的其他设置 .env,未内联到MCP客户端配置中。这 .env 文件在启动时自动加载。

或者,如果使用pip全局安装:

{
  "mcpServers": {
    "flux": {
      "command": "python",
      "args": [
        "-m",
        "flux_mcp.server"
      ]
    }
  }
}

添加配置后,重新启动MCP客户端(例如Claude Desktop)。

可用的MCP工具

当将此服务器与任何兼容MCP的客户端一起使用时,可以使用以下工具。以下示例展示了Claude Desktop的使用方法。

关于FLUX.2-dev超时的说明:MCP客户端对工具调用强制超时(通常为1-5分钟)。FLUX.2-dev在16GB GPU上需要30-40分钟,远远超过任何MCP超时时间。服务器处于非阻塞状态:客户端超时后,生成将在后台继续。使用 get_preview 与返回 image_id 在准备就绪时检索结果。看 已知行为:MCP超时 了解全部细节。

1. generate_image

使用FLUX.1-dev(快速)或FLUX.2-dev(质量)从文本提示生成图像。

参数:

  • prompt (必填):图像的文字描述
  • model (可选):“flux1 dev”(更快的质量,40步)或“flux2 dev””(最高质量,50步,默认)
  • steps (可选):推理步骤数(自动:FLUX.1=40,FLUX.2=50,范围:20-100)
  • guidance_scale (可选):制导比例(默认值:两种型号均为7.5,范围:1.0-10.0)
  • width (可选):图像宽度(像素)(默认值:1024,范围:256-2048)
  • height (可选):图像高度(像素)(默认值:1024,范围:256-2048)
  • seed (可选):用于再现性的随机种子(如果没有提供,则随机)

退货: 文件路径、种子、生成设置、内联缩略图预览和 image_id 你可以通过 get_preview 稍后。

示例用法(MCP客户端的自然语言):

Generate a high quality image with flux1-dev of a futuristic cyberpunk city at sunset with neon lights
Generate maximum quality image with flux2-dev and seed 42 of a serene mountain landscape

2. get_preview

检索生成图像的预览(缩略图)。在FLUX.2-dev后台生成MCP客户端超时后特别有用。

参数:

  • image_id (可选):返回的图像ID generate_image (例如。 20250126_143052_42).省略以获取最后生成的图像。

退货: 内联缩略图和全尺寸图像路径。

示例用法:

Get the preview for image 20250126_143052_42
Show me the last generated image

3. get_status

检查FLUX发生器的当前状态。

退货:

  • 模型负载状态
  • 自动卸载前的剩余时间
  • 当前VRAM使用情况
  • 上次访问时间

示例用法:

Check the FLUX model status

4. unload_model

立即从GPU内存中卸载FLUX模型。

示例用法:

Unload the FLUX model to free up VRAM

5. set_timeout

更改运行时的自动卸载超时。

参数:

  • timeout_seconds (必填):新超时时间(秒)(0表示禁用)

示例用法:

Set FLUX auto-unload timeout to 600 seconds
Disable FLUX auto-unload

CLI使用情况

除了MCP服务器模式外,您还可以直接从命令行使用FLUX 完全离线和私密 图像生成。

快速开始

# Basic usage
flux generate "a beautiful sunset over mountains"

# With custom parameters
flux generate "portrait of a cat" --steps 35 --guidance 4.0 --seed 42

# Interactive mode for batch generation
flux generate --interactive

# Check system status
flux status

# View configuration
flux config

# Open output directory
flux open-output

生成命令

图像生成的主要命令:

flux generate [OPTIONS] PROMPT

选项:

  • --steps, -s INTEGER -推理步骤数(默认值:CUDA为50,MPS为40)
  • --guidance, -g FLOAT -引导比例(默认值:7.5)
  • --width, -w INTEGER -图像宽度(像素),必须是8的倍数(默认值:1024)
  • --height, -h INTEGER -图像高度(像素),必须是8的倍数(默认值:1024)
  • --seed INTEGER -随机种子可重复性
  • --output, -o PATH -自定义输出路径(默认:自动生成)
  • --output-dir PATH -覆盖输出目录
  • --interactive, -i -交互模式
  • --fast, -f -使用FLUX.1-dev快速生成(无需环境变量)
  • --verbose, -v -包含调试信息的详细输出

示例:

# Simple generation
flux generate "a cozy cabin in snowy mountains"

# High quality with more steps
flux generate "professional portrait" --steps 40 --guidance 7.5

# Custom resolution
flux generate "wide landscape" --width 1536 --height 1024

# Reproducible generation
flux generate "cute robot" --seed 42

# Fast generation with FLUX.1-dev
flux generate "sunset" --fast

# Save to specific location
flux generate "sunset" --output ~/Pictures/my-sunset.png

# Interactive mode (best for multiple images)
flux generate --interactive

交互模式

交互模式允许您在不重新加载模型的情况下生成多个图像:

flux generate --interactive

交互式工作流程:

  1. 输入您的提示
  2. 配置参数(步骤、指导、尺寸、种子)
  3. 图像生成并保存
  4. 选择生成另一个或退出
  5. 模型在几代之间保持加载状态,以获得更快的后续图像

其他命令

状态命令:

flux status

显示:

  • 模型信息
  • 输出目录
  • CUDA可用性
  • GPU名称和VRAM使用情况
  • 模型缓存位置

配置命令:

flux config

显示环境变量中的当前配置。

打开输出:

flux open-output

在文件管理器中打开输出目录(Linux:xdg-open,macOS:open,Windows:explorer)。

输出文件

生成的图像与嵌入的元数据一起保存:

  • 图片: YYYYMMDD_HHMMSS_SEED.png
  • 缩略图: YYYYMMDD_HHMMSS_SEED_thumb.png (512x512预览)

所有生成参数都直接嵌入PNG元数据中。您可以使用以下工具查看它们 exiftool:

exiftool image.png

嵌入式元数据包括:

  • Prompt:使用的文本提示
  • Seed:随机种子可重复性
  • Steps:推理步骤数
  • Guidance Scale:指导标度值
  • Width / Height:图像尺寸
  • Model:使用FLUX模型
  • Generation Time Seconds:一代人花了多长时间
  • Timestamp:创建图像时

CLI与MCP服务器

CLI模式:

  • ✓ 完全离线和私有(不需要MCP客户端)
  • ✓ 从终端直接控制
  • ✓ 交互式批量生成
  • ✓ 无自动卸载(生成后进程终止)
  • ✓ 生成缩略图以快速预览
  • ✓ 带有进度条的丰富终端用户界面
  • ✓ 长FLUX.2-dev世代没有超时限制

MCP服务器模式:

  • ✓ 与MCP兼容的应用程序(如Claude Desktop)集成
  • ✓ 自然语言界面
  • ✓ 超时后自动卸载(省电)
  • ✓ 持久后台进程
  • ✓ 从对话式AI界面访问
  • ✓ 通过预览检索 get_preview 背景生成后

这两种模式共享相同的配置、模型缓存和输出目录。

配置

编辑 .env 自定义(复制自 .env.example):

# Auto-unload timeout in seconds (default: 300 = 5 minutes)
FLUX_UNLOAD_TIMEOUT=300

# Output directory for generated images
FLUX_OUTPUT_DIR=/path/to/flux_output

# Optional: Custom HuggingFace cache directory
# FLUX_MODEL_CACHE=/path/to/cache

# Model selection (choose default model)
# FLUX_MODEL_ID=black-forest-labs/FLUX.1-dev   # Faster quality (4-8 min, 40 steps default)
# FLUX_MODEL_ID=black-forest-labs/FLUX.2-dev   # Maximum quality (default, 30-40 min, 50 steps)

# Default generation parameters (model-specific smart defaults apply automatically)
# FLUX_DEFAULT_STEPS=50        # Override auto defaults: FLUX.1-dev=40, FLUX.2-dev=50
# FLUX_DEFAULT_GUIDANCE=7.5    # Both models use 7.5 for optimal quality

环境变量参考

变量 默认值 描述
FLUX_UNLOAD_TIMEOUT 300 自动卸载超时(秒)(0=禁用)
FLUX_OUTPUT_DIR ~/flux_output 生成图像的目录
FLUX_MODEL_CACHE (HuggingFace默认值) 自定义模型缓存目录
FLUX_MODEL_ID black-forest-labs/FLUX.2-dev 默认型号
FLUX_DEFAULT_STEPS 50 覆盖推理步骤(如果未设置,则应用模型默认值)
FLUX_DEFAULT_GUIDANCE 7.5 引导尺度

高级配置

自定义模型缓存 (跨项目共享或节省空间):

# In .env
FLUX_MODEL_CACHE=/mnt/data/huggingface/cache

禁用自动卸载 (保持模型永久加载):

# In .env
FLUX_UNLOAD_TIMEOUT=0

或者在运行时:

Set FLUX timeout to 0

日志记录 (捕获服务器日志):

{
  "mcpServers": {
    "flux": {
      "command": "sh",
      "args": [
        "-c",
        "cd /path/to/flux-mcp && uv run flux-mcp 2>> /tmp/flux-mcp.log"
      ]
    }
  }
}

安装

  1. 克隆存储库 (或导航到项目目录):
cd /path/to/flux-mcp
  1. 使用UV进行安装 (推荐):
uv sync

或者用pip安装:

pip install -e .
  1. 配置环境变量:
cp .env.example .env
# Edit .env with your preferred settings

运作原理

智能VRAM检测

在模型加载时,服务器:

  1. 检测总VRAM 可在GPU上使用
  2. 选择最佳模式 自动:
    • 24GB+:全GPU模式(所有组件都留在GPU上,两种型号都最快)
    • 20-24GB:CPU卸载模式模型(平衡,根据需要在CPU/GPU之间移动组件)
    • 12-20GB:顺序CPU卸载模式(稳定,速度较慢,但适合16GB VRAM)
  3. 记录决策 所以你知道哪个模式是活动的

顺序CPU卸载 在不使用时将整个模型组件(文本编码器、转换器、VAE)移动到CPU。这是有限VRAM系统最稳定的方法,可与FLUX.1-dev和FLUX.2-dev可靠地配合使用。

对于VRAM小于24GB的GPU,服务器还启用:

  • 高效记忆注意力 (xFormers或PyTorch SDPA)
  • bfloat16精度 与float32相比,VRAM节省了约50%

这些优化允许两种型号在12-16GB VRAM上运行。 备注:由于稳定性问题,CUDA流的实验组卸载已被删除——推荐的稳定配置是顺序CPU卸载。

自动卸载机制

  1. 延迟加载:服务器启动时未加载模型
  2. 按需加载:根据第一代请求自动加载模型
  3. 定时器复位:每一代都会重置自动卸载计时器
  4. 自动清理:在配置的超时后没有活动:
    • 模型已从内存中删除
    • GPU缓存已清除(torch.cuda.empty_cache())
    • Python垃圾回收运行
  5. 无缝重载:模型在下次请求时自动重新加载

内存管理

服务器使用多种策略来优化VRAM:

  • 智能模式选择 基于检测到的VRAM(24GB+:全GPU,20-24GB:模型CPU卸载,<20GB:顺序CPU卸载)
  • bfloat16精度 代替float32(节省约50%的VRAM)
  • 顺序CPU卸载 适用于小于20GB的GPU(稳定,空闲时将整个模型组件移动到CPU)
  • 高效记忆注意力 (xFormers或PyTorch SDPA可减少内存使用)
  • TF32加速 在Ampere+GPU上实现更快的矩阵运算
  • 显式缓存清除 卸货时
  • 线程 用于非阻塞自动卸载
  • 基于锁的同步 用于线程安全操作
  • 动态模型切换 -可以在FLUX.1-dev和FLUX.2-dev之间切换,而无需重新启动

输出文件

生成的图像保存为:

{FLUX_OUTPUT_DIR}/{timestamp}_{seed}.png

例子: 20250126_143052_42.png

性能提示

模型比较

这两种模型都针对以下方面进行了优化 高质量的 输出测试参数:

型号 速度(16GB GPU) 速度(24GB+GPU) 质量 默认步长 默认引导
FLUX.1-dev 4-8分钟 1-2分钟 优秀 40 7.5
FLUX.2-dev 30-40分钟 2-4分钟 最大 50 7.5

何时使用哪个:

  • FLUX.1-dev:当你需要高质量时,更快(~4-8分钟),批量生成,迭代想法
  • FLUX.2-dev:当你需要绝对的最高质量时,时间并不重要(~30-40分钟)

VRAM模式(自动选择):

  • 24GB+ -全GPU模式(最快,两种型号都<5分钟)
  • 16-24GB -CPU卸载模式(平衡)
  • 12-16GB -顺序CPU卸载模式(较慢,建议使用FLUX.1-dev)

GPU VRAM的最佳设置

RTX 4090/A6000(24GB+)

  • 决心:舒适度高达1536x1536
  • 模式:全GPU(自动)
  • FLUX.1-dev:约1-2分钟(40步,质量)
  • FLUX.2-dev:约2-4分钟(50步,最高质量)
  • 指导:7.5(两种型号)

RTX 4070钛超级/3090(16GB-24GB)

  • 决心:舒适度高达1024x1024
  • 模式:顺序CPU卸载(16GB自动)
  • FLUX.1-dev:~4-8分钟(40步,质量)← 推荐用于更快的工作流程
  • FLUX.2-dev:约30-40分钟(50步,最高质量)
  • 指导:7.5(两种型号)

RTX 3060/4060 Ti(12GB-16GB)

  • 决心:1024x1024(FLUX.1)或768x768(出于安全考虑,FLUX.2)
  • 模式:顺序CPU卸载(自动)
  • FLUX.1-dev:~6-10分钟(40步)← 强烈推荐
  • FLUX.2-dev:约40-50分钟(50步)或减少到768x768
  • 小贴士:使用FLUX.1-dev在较低的VRAM上实现更好的速度/质量平衡

所有GPU:

  • 引导尺度:7.5(适用于两种型号)
  • 批量大小:1(型号不支持批处理)
  • 超时:300秒用于偶尔使用,600秒用于活动会话

发电时间预期

全GPU模式(24GB+VRAM):

  • FLUX.1-dev (40步):1024x1024约1-2分钟
  • FLUX.2-dev (50步):1024x1024约2-4分钟
  • 第一代:模型加载时间+15-30秒

顺序CPU卸载(16GB VRAM-RTX 4070 Ti Super):

  • FLUX.1-dev (40步):1024x1024约4-8分钟← 推荐
  • FLUX.2-dev (50步):1024x1024约30-40分钟
  • 第一代:模型加载时间增加2-3秒
  • 优化:使用FLUX.1-dev,发电速度提高5-8倍,质量卓越

已知行为:FLUX.2-dev发电期间的MCP超时

使用时 generate_image 和 flux2-dev 通过MCP客户端(例如Claude Desktop、Claude Code),客户端可能会在生成过程中报告超时错误。 这是意料之中的,也是正常的——这不是服务器错误。

为什么发生超时

MCP客户端在工具调用时强制客户端超时,通常在1-5分钟的范围内。在16GB GPU上生成FLUX.2-dev需要30-40分钟,远远超过了任何标准的MCP客户端超时时间。服务器本身不会超时,只有客户端等待响应才会超时。

这 generate_image 工具描述明确地通知LLM此行为,因此它不会将超时视为失败,也不会不必要地重试。

实际发生了什么

  1. MCP客户端发送 generate_image 向服务器发出请求
  2. 服务器在后台线程中启动生成并立即返回(非阻塞)
  3. 客户端超时在1-5分钟后触发——客户端显示错误
  4. 生成继续在后台运行 --服务器进程不受影响
  5. 生成完成后(30-40分钟后),图像会自动保存到配置的输出目录中

超时后检索结果

使用 get_preview 工具与 image_id 如图所示 generate_image 输出(或省略 image_id 获取最后生成的图像):

Get the preview for image 20250126_143052_42

或者直接查看输出目录:

# Watch for new files appearing
watch -n 10 ls -lht ~/flux_output | head

# Or list files sorted by modification time
ls -lht ~/flux_output | head

如何验证生成仍在运行

# Check GPU utilization — should show ~100% during generation
watch -n 2 nvidia-smi

# Check CPU and process activity
htop

如果 nvidia-smi 显示GPU利用率接近100%,生成正在积极运行。

为后代推荐的替代品

  • 使用FLUX.1-dev (flux1-dev)--在16GB GPU上4-8分钟内完成,完全在MCP超时限制内,并产生卓越的质量
  • 使用CLI模式 --完全没有超时限制:
    flux generate "your prompt" --model flux2-dev
    
    CLI同步运行生成并显示进度条。

故障排除

CUDA内存不足

问题:生成过程中出错:“CUDA内存不足”

备注:服务器自动检测可用VRAM并选择最佳模式:

  • 24GB+:全GPU(最快)
  • 16GB:CPU卸载模型(平衡)
  • 12GB+:降低分辨率的CPU卸载模型

如果仍然出现OOM错误:

  1. 关闭其他GPU应用程序:

    # Check what's using VRAM
    nvidia-smi
    
  2. 减小图像尺寸:

    flux generate "prompt" --width 768 --height 768
    # Or even smaller for 12GB cards
    flux generate "prompt" --width 512 --height 512
    
  3. 减少推理步骤 (对内存的影响最小):

    flux generate "prompt" --steps 28  # Default is 50
    
  4. 检查日志 查看选择了哪种模式:

    # Look for "Using full GPU mode" or "Using model CPU offload"
    tail -f /tmp/flux-mcp.log
    
  5. 重新启动进程 如果VRAM未完全释放:

    # CLI: Just run again (process exits after generation)
    # MCP: Restart your MCP client
    

模型下载问题

问题:模型下载失败或超时

解决方案:

  1. 检查互联网连接
  2. 设置具有更多空间的自定义缓存目录:
    FLUX_MODEL_CACHE=/path/to/large/disk/cache
    
  3. 使用HuggingFace CLI手动下载:
    huggingface-cli download black-forest-labs/FLUX.2-dev
    

服务器无响应

问题:MCP客户端看不到工具

解决方案:

  1. 检查MCP客户端的日志是否有错误
  2. 验证配置路径是否为绝对路径
  3. 确保UV在PATH中或使用UV二进制文件的完整路径
  4. 配置更改后重新启动MCP客户端
  5. 手动测试服务器:
    cd /path/to/flux-mcp
    uv run flux-mcp
    

AMD/ROCm安装

ROCm支持通过PyTorch的ROCm构建工作,该构建通过标准CUDA API公开自己-不需要更改代码。唯一的要求是在运行前安装启用ROCm的PyTorch轮 uv sync.

步骤1:安装ROCm PyTorch (替换 rocm6.2 使用您安装的ROCm版本):

pip install torch torchvision --index-url https://download.pytorch.org/whl/rocm6.2

步骤2:安装剩余的依赖项:

uv sync --extra rocm

验证是否检测到ROCm:

python -c "import torch; print(torch.cuda.is_available(), torch.version.hip)"
# Should print: True  <rocm-version>

检查AMD上的GPU活动:

rocm-smi

备注:

  • 建议ROCm 5.7+;早期版本的bfloat16可能存在稳定性问题
  • xFormers通常在ROCm上不可用——服务器会自动回退到PyTorch SDPA
  • TF32是NVIDIA独有的功能,在ROCm上会自动跳过
  • 随机种子生成使用ROCm上的CPU生成器(与MPS相同)以实现兼容性
  • VRAM层选择(全GPU/模型卸载/顺序卸载)与CUDA的工作原理相同

苹果硅(MPS)

设置:安装Mac附加功能以获得 psutil 对于统一内存报告:

uv sync --extra mac

Mac上的默认型号:FLUX.1-dev(自动选择-FLUX.2-dev需要比大多数Mac与macOS一起使用的统一内存更多的内存)。

Mac内存不足:运行 sudo purge 在其他繁重的进程后释放RAM,然后以较低的分辨率重试:

flux generate "prompt" --width 768 --height 768

检查Mac上的GPU活动:

sudo powermetrics --samplers gpu_power -n 1 2>/dev/null | grep "GPU HW active residency"

慢世代

问题:图像生成时间过长

解决方案:

  1. 减少 steps 参数(尝试20-25,而不是28)
  2. 确保正在使用GPU(CUDA: nvidia-smi,MPS:见上文)
  3. 关闭后台应用程序以释放GPU/RAM资源
  4. 检查CUDA是否已正确安装(Linux/Windows)

MCP超时假阳性

问题:MCP客户端在长FLUX.2-dev生成过程中显示错误,但图像仍然成功生成

解决方案:使用 get_preview 在预期的生成时间之后检索结果。看 已知行为:MCP超时 了解全部细节。

权限错误

问题:无法写入输出目录

解决方案:

  1. 检查目录权限
  2. 在中设置其他输出目录 .env:
    FLUX_OUTPUT_DIR=/home/$USER/flux_output
    
  3. 手动创建目录:
    mkdir -p ~/flux_output
    chmod 755 ~/flux_output
    

建筑

flux-mcp/
├── src/flux_mcp/
│   ├── __init__.py       # Package metadata
│   ├── config.py         # Environment configuration (shared)
│   ├── generator.py      # FluxGenerator class (shared)
│   ├── server.py         # MCP server (tool handlers)
│   └── cli.py            # CLI tool
├── pyproject.toml        # Project dependencies
├── .env                  # Local configuration (gitignored)
└── README.md            # This file

关键组件

  • Flux发生器:管理模型生命周期、线程和设备内存——自动检测CUDA/MPS/CPU(在CLI和MCP之间共享)
  • 配置:加载环境变量并提供默认值(共享)
  • MCP服务器:通过模型上下文协议为MCP兼容客户端公开工具
  • CLI工具:用于离线使用的直接命令行界面

线程安全

发电机使用螺纹锁(threading.Lock)以确保:

  • 一次只有一代人
  • 安全模型装载/卸载
  • 无比赛条件,自动卸载定时器

许可证

MIT许可证-有关详细信息,请参阅许可证文件

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

支持

对于问题和疑问:

  • 检查上面的故障排除部分
  • 查看服务器日志中的错误
  • 在GitHub上打开一个问题

更新日志

v1.2.0版本(2026-03-12)

新功能

  • ✨ 添加 get_preview MCP工具——检索上次生成的图像(或通过 image_id)背景FLUX.2-dev生成完成后作为内联缩略图
  • ✨ generate_image 现在回来了 image_id 供以后参考 get_preview
  • 📚 操作员优先流程的重构README:CLI之前的MCP配置和工具以及安装细节

v1.1.0(2025-12-07)

改进和修复

  • ✨ 添加 --fast / -f 标记为CLI,以便在没有环境变量的情况下快速生成FLUX.1-dev
  • 🐛 修复了管道类选择-FLUX.1-dev现在可以正确使用FluxPipeline(导致标记器错误)
  • 📚 为长FLUX.2-dev代添加了MCP超时警告文档

v1.0.0(2025-11-29)

稳定版

  • ✨ 双模型支持:FLUX.1-dev(更快)和FLUX.2-dev(最高质量)
  • ✨ 模型特定的质量默认值(FLUX.1=40步,FLUX.2=50步,均在7.5指导下)
  • ✨ 12-24GB GPU的智能VRAM优化,具有自动模式选择功能
  • ✨ 具有交互模式和缩略图生成的CLI工具
  • ✨ 具有自动卸载和进度报告功能的MCP服务器
  • ✨ 在PNG中嵌入干净的元数据(单个字段,没有JSON blob)
  • ✨ 快速预览缩略图生成(512x512)
  • 🐛 修复了PNG文件中的重复元数据
  • 🐛 修复了PyTorch检查点文件的.gitignore
  • 📚 包含使用示例的全面文档

v0.1.0(2025-01-26)

  • 初始开发版本
  • FLUX.2-dev集成
  • 自动卸载功能(MCP模式)
  • 四个MCP工具(生成、卸载、状态、设置超时)
  • 具有交互模式的CLI工具(flux 命令)
  • CLI和MCP服务器之间的共享架构