](https://mseep.ai/app/awkoy-replicate-flux-mcp)
复制Flux MCP
](https://smithery.ai/server/@awkoy/replicate-flux-mcp)
复制Flux MCP 是一个先进的模型上下文协议(MCP)服务器,它使AI助手能够生成高质量的图像和矢量图形。利用 黑森林实验室Flux Schnell模型 对于光栅图像和 重新绘制V3 SVG模型 通过Replicate API实现矢量图形。
📑 目录
- 设置过程 - 光标集成 - Claude桌面集成 - Smithery集成 - Glama.ai集成
- 可用工具 - 可用资源 - 可用提示 - 结构化输出 - 环境变量
- 测试
🚀 入门与集成
设置过程
- 获取复制API令牌
- 注册地址: 复制 - 在您的帐户设置中创建API令牌
- 选择您的集成方法
- 根据您首选的MCP客户端,遵循以下集成选项之一
- 让你的AI助手生成图像
- 自然地问:“你能在日落时生成一幅宁静的山景图像吗?” - 或者更具体地说:“请创建一个图像,显示一个宁静的山景,前景是一个反射日落色彩的湖泊”
- 探索高级功能
- 尝试不同的参数设置以获得自定义结果 - 使用SVG生成进行实验 generate_svg - 使用批量图像生成或变体生成功能
光标集成
方法1:使用mcp.json
- 创建或编辑
.cursor/mcp.json项目目录中的文件:
{
"mcpServers": {
"replicate-flux-mcp": {
"command": "env REPLICATE_API_TOKEN=YOUR_TOKEN npx",
"args": ["-y", "replicate-flux-mcp"]
}
}
}- 替换
YOUR_TOKEN使用您的实际Replicate API令牌 - 重新启动Cursor以应用更改
方法2:手动模式
- 打开光标并转到设置
- 导航到“MCP”或“模型上下文协议”部分
- 点击“添加服务器”或等效选项
- 在相应字段中输入以下命令:
env REPLICATE_API_TOKEN=YOUR_TOKEN npx -y replicate-flux-mcp- 替换
YOUR_TOKEN使用您的实际Replicate API令牌 - 保存设置,必要时重新启动Cursor
Claude桌面集成
- 创建或编辑
mcp.json配置目录中的文件:
{
"mcpServers": {
"replicate-flux-mcp": {
"command": "npx",
"args": ["-y", "replicate-flux-mcp"],
"env": {
"REPLICATE_API_TOKEN": "YOUR TOKEN"
}
}
}
}- 替换
YOUR_TOKEN使用您的实际Replicate API令牌 - 重新启动Claude Desktop以应用更改
Smithery集成
此MCP服务器作为Smithery上的托管服务提供,允许您在不设置自己的服务器的情况下使用它。
- 访问 史密瑟里 如果您没有帐户,请创建一个帐户
- 导航到 复制Flux MCP服务器页面
- 单击“添加到工作区”将服务器添加到Smithery工作区
- 配置您的MCP客户端(Cursor、Claude Desktop等)以使用Smithery工作区URL
有关与MCP客户一起使用Smithery的更多信息,请访问 Smithery文件.
Glama.ai集成
此MCP服务器也可作为Glama.ai上的托管服务使用,提供了另一种无需本地设置即可使用的选项。
- 访问 Glama.ai 如果您没有帐户,请创建一个帐户
- 去 复制Flux MCP服务器页面
- 单击“安装服务器”将服务器添加到您的工作区
- 配置MCP客户端以使用Glama.ai工作区
有关更多信息,请访问 Glama.ai MCP服务器文档.
🌟 特性
- 🖼️ 高质量图像生成 --Flux Schnell光栅图像,可完全控制纵横比、百万像素、推理步骤、输出格式和种子。
- 🎨 矢量图形 --为徽标、图标和图表重新绘制V3 SVG。
- 📊 批次+变体 --从N个提示或一个提示的N个变体(基于种子或基于提示修改器)生成N个图像。
- 🧩 任意复制模型 —
run_replicate_model逃生舱接受任何owner/name[:version]参考,与get_model_schemaOpenAPI输入模式的自检。可选择通过REPLICATE_MODEL_ALLOWLIST. - 📦 结构化输出 --每一个
generate_*工具返回机器可读structuredContent与人类可读的内容一起,匹配每个工具outputSchema(URL、提示、格式、纵横比、每变体种子等)。 - ⏳ 进度通知 --批量和变体生成排放
notifications/progress对于通过以下方式选择加入的客户progressToken,所以长跑不是黑箱作业。 - 💬 精心策划的提示 --5个现成的提示模板(
logo,portrait,svg-icon,product-shot,isometric-diagram)出现在Claude Desktop的斜线调色板和Cursor的@-菜单。 - 🏷️ 正确的工具注释 —
readOnlyHint/destructiveHint/openWorldHint/idempotentHint正确设置,以便客户能够推理安全性和成本。 - 🪵 结构化日志记录 --服务器端错误传播
notifications/message而不是stderr。 - 🔌 通用MCP兼容性 --MCP协议2025-11-25;适用于Claude Desktop、Cursor、Cline、Zed和任何符合规范的客户端。
- 🔍 生成历史 --浏览过去的跑步记录
imagelist,svglist,以及predictionlist资源。
📚 文档
可用工具
generate_image
使用Flux-Schnell模型基于文本提示生成图像。
{
prompt: string; // Required: Text description of the image to generate
seed?: number; // Optional: Random seed for reproducible generation
go_fast?: boolean; // Optional: Run faster predictions with optimized model (default: true)
megapixels?: "1" | "0.25"; // Optional: Image resolution (default: "1")
num_outputs?: number; // Optional: Number of images to generate (1-4) (default: 1)
aspect_ratio?: string; // Optional: Aspect ratio (e.g., "16:9", "4:3") (default: "1:1")
output_format?: string; // Optional: Output format ("webp", "jpg", "png") (default: "webp")
output_quality?: number; // Optional: Image quality (0-100) (default: 80)
num_inference_steps?: number; // Optional: Number of denoising steps (1-4) (default: 4)
disable_safety_checker?: boolean; // Optional: Disable safety filter (default: false)
}generate_multiple_images
使用Flux-Schnell模型根据一系列提示生成多个图像。
{
prompts: string[]; // Required: Array of text descriptions for images to generate (1-10 prompts)
seed?: number; // Optional: Random seed for reproducible generation
go_fast?: boolean; // Optional: Run faster predictions with optimized model (default: true)
megapixels?: "1" | "0.25"; // Optional: Image resolution (default: "1")
aspect_ratio?: string; // Optional: Aspect ratio (e.g., "16:9", "4:3") (default: "1:1")
output_format?: string; // Optional: Output format ("webp", "jpg", "png") (default: "webp")
output_quality?: number; // Optional: Image quality (0-100) (default: 80)
num_inference_steps?: number; // Optional: Number of denoising steps (1-4) (default: 4)
disable_safety_checker?: boolean; // Optional: Disable safety filter (default: false)
}generate_image_variants
从单个提示生成同一图像的多个变体。
{
prompt: string; // Required: Text description for the image to generate variants of
num_variants: number; // Required: Number of image variants to generate (2-10, default: 4)
prompt_variations?: string[]; // Optional: List of prompt modifiers to apply to variants (e.g., ["in watercolor style", "in oil painting style"])
variation_mode?: "append" | "replace"; // Optional: How to apply variations - 'append' adds to base prompt, 'replace' uses variations directly (default: "append")
seed?: number; // Optional: Base random seed. Each variant will use seed+variant_index
go_fast?: boolean; // Optional: Run faster predictions with optimized model (default: true)
megapixels?: "1" | "0.25"; // Optional: Image resolution (default: "1")
aspect_ratio?: string; // Optional: Aspect ratio (e.g., "16:9", "4:3") (default: "1:1")
output_format?: string; // Optional: Output format ("webp", "jpg", "png") (default: "webp")
output_quality?: number; // Optional: Image quality (0-100) (default: 80)
num_inference_steps?: number; // Optional: Number of denoising steps (1-4) (default: 4)
disable_safety_checker?: boolean; // Optional: Disable safety filter (default: false)
}generate_svg
使用Recraft V3 SVG模型基于文本提示生成SVG矢量图像。
{
prompt: string; // Required: Text description of the SVG to generate
size?: string; // Optional: Size of the generated SVG (default: "1024x1024")
style?: string; // Optional: Style of the generated image (default: "any")
// Options: "any", "engraving", "line_art", "line_circuit", "linocut"
}prediction_list
从Replicate检索您最近的预测列表。
{
limit?: number; // Optional: Maximum number of predictions to return (1-100) (default: 50)
}get_prediction
获取特定预测的详细信息。
{
predictionId: string; // Required: ID of the prediction to retrieve
}run_replicate_model
运行Replicate上托管的任何模型 owner/name[:version] 参考。当所有策划的工具都不合适时,将其用作逃生口。呼叫 get_model_schema 首先,如果你不知道输入形状。
{
model: string; // Required: 'owner/name' or 'owner/name:version'
input: Record; // Required: Model input parameters
prefer_wait?: number; // Optional: Seconds to block waiting for sync output (1-60, default 60)
return_as?: "url" | "base64" | "both"; // Optional: How to return file outputs (default "url")
}设置 REPLICATE_MODEL_ALLOWLIST env var(逗号分隔 owner/name 条目)来限制可以调用哪些模型。未设置=允许的任何模型。Set but empty=拒绝所有(服务器失败时关闭,而不是默默地允许所有内容)。
get_model_schema
获取复制模型的OpenAPI输入模式和描述,以便您可以将正确的参数传递给 run_replicate_model.
{
model: string; // Required: Replicate model reference in 'owner/name' form
}可用资源
imagelist
浏览使用Flux-Schnell模型创建的生成图像的历史记录。
svglist
浏览使用Recraft V3 SVG模型创建的生成SVG图像的历史记录。
predictionlist
浏览所有复制预测历史记录。
可用提示
经过精心策划的模板出现在Claude Desktop的斜线菜单和Cursor的 @-调色板。每个人填写合理的默认值,然后委托给相关的生成工具。
| 提示 | 描述 | 参数 |
|---|---|---|
logo | 品牌/产品标志 | brand, style?, palette? |
portrait | 写真肖像 | subject, mood?, lens? |
svg-icon | 单概念矢量图标 | concept, style? |
product-shot | 工作室产品摄影 | product, surface? |
isometric-diagram | 等距技术图 | subject, emphasis? |
结构化输出
每 generate_* 该工具返回人类可读的结果 content (文本+图像块)和机器可读 structuredContent 与工具匹配 outputSchema.
| 工具 | structuredContent 形状 |
|---|---|
generate_image | { url, prompt, format, aspect_ratio, seed? } |
generate_svg | { url, prompt, size, style, svg? } |
generate_multiple_images | { images: [{ url, prompt }], format, aspect_ratio } |
generate_image_variants | { base_prompt, variation_mode, variants: [{ variant_index, url, prompt_used, seed? }], format, aspect_ratio } |
理解MCP结构化输出的客户端可以直接使用URL和元数据,而无需解析散文。
环境变量
| 变量 | 必需 | 目的 |
|---|---|---|
REPLICATE_API_TOKEN | 的yes | neneneba API令牌 复制。如果服务器丢失,则立即退出。 |
REPLICATE_MODEL_ALLOWLIST | 否 | 逗号分隔 owner/name 进入那扇门 run_replicate_model. 取消设置 =允许的任何型号。 设置但为空 =拒绝所有(失败关闭)。在流程开始时评估一次,因此将其设置在MCP客户端的 env 块(不通过稍后加载的dotenv)。 |
💻 发展
- 克隆存储库:
git clone https://github.com/awkoy/replicate-flux-mcp.git
cd replicate-flux-mcp- 安装依赖项:
npm install- 启动TypeScript观察程序:
npm run watch- 构建项目:
npm run build- 使用MCP检查器对服务器进行冒烟测试:
npm run inspector- 连接到客户端:
{
"mcpServers": {
"image-generation-mcp": {
"command": "npx",
"args": [
"/Users/{USERNAME}/{PATH_TO}/replicate-flux-mcp/build/index.js"
],
"env": {
"REPLICATE_API_TOKEN": "YOUR REPLICATE API TOKEN"
}
}
}
}测试
此项目目前没有自动化测试套件。验证通过以下方式完成:
npm run build--TypeScript类型检查可以捕获大多数回归。npm run inspector--通过官方的MCP检查器驱动构建的二进制文件,对工具、资源和提示进行端到端的冒烟测试。
欢迎添加适当的测试框架(例如Vitest+MCP stdio客户端工具)。
⚙️ 技术细节
堆栈
- 模型上下文协议SDK -用于工具和资源管理的核心MCP功能
- 复制API -提供对最先进的AI图像生成模型的访问
- TypeScript -确保类型安全并利用现代JavaScript功能
- 黄道带 -为强大的API交互实现运行时类型验证
配置
可以通过修改来配置服务器 CONFIG 对象在 src/config/index.ts:
export const CONFIG = {
serverName: "replicate-flux-mcp",
serverVersion: "0.4.0",
imageModelId: "black-forest-labs/flux-schnell",
svgModelId: "recraft-ai/recraft-v3-svg",
pollingAttempts: 25,
pollingInterval: 2000, // ms
modelAllowlist: (process.env.REPLICATE_MODEL_ALLOWLIST ?? "")
.split(",")
.map((s) => s.trim())
.filter(Boolean),
};modelAllowlist 在流程开始时评估一次 REPLICATE_MODEL_ALLOWLIST。更改后重新启动服务器。
🔍 故障排除
常见问题
认证错误
- 确保您的
REPLICATE_API_TOKEN在环境中正确设置 - 通过直接使用Replicate API测试来验证您的令牌是否有效
安全过滤器已触发
- 该模型有一个内置的安全过滤器,可以阻止某些提示
- 尝试修改提示以避免可能有问题的内容
超时错误
- 对于较大的图像或繁忙的服务器,您可能需要增加
pollingAttempts或pollingInterval在配置中 - 默认设置应适用于大多数用例
🤝 贡献
欢迎投稿!请按照以下步骤进行贡献:
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
对于功能请求或错误报告,请创建GitHub问题。如果你喜欢这个项目,可以考虑在存储库中担任主角!
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🔗 资源
🎨 示例
| 多个提示 | 提示变体 |
|---|---|
以下是一些如何使用这些工具的示例:
批量生成图像 generate_multiple_images
使用不同的提示一次创建多个不同的图像:
{
"prompts": [
"A red sports car on a mountain road",
"A blue sports car on a beach",
"A vintage sports car in a city street"
]
}图像变体 generate_image_variants
使用种子创建对同一概念的不同解释:
{
"prompt": "A futuristic city skyline at night",
"num_variants": 4,
"seed": 42
}或者使用提示修饰符探索样式变化:
{
"prompt": "A character portrait",
"prompt_variations": [
"in anime style",
"in watercolor style",
"in oil painting style",
"as a 3D render"
]
}______________________________________________________________________
制作❤️ 雅罗斯拉夫·博伊科

