
Replicate Flux
连接至 Replicate 的图像生成模型,支持通过文本生成图像,并自动将结果存储至云端,实现视觉内容的无缝集成。
概述
MCP 复制 FLUX
一个使用 Replicate 的 FLUX 模型生成图片并存储到 Cloudflare R2 的模型上下文协议(MCP)服务器。
功能特点
- 使用 Replicate 的 black-forest-labs/flux-schnell 模型生成图片
- 将生成的图片存储到 Cloudflare R2
- 返回可访问的图片链接
- 支持自定义提示词和文件名
前置要求
- Node.js(v16 或更高版本)
- Replicate API 令牌
- Cloudflare R2 存储桶和凭证
- npm 或 yarn
环境变量
.env
文件中需要的环境变量:
env
REPLICATE_API_TOKEN=你的_replicate令牌
STORAGE_ENDPOINT=你的_r2终端点
STORAGE_ACCESS_KEY=你的_r2访问密钥
STORAGE_SECRET_KEY=你的_r2秘密密钥
STORAGE_BUCKET=你的存储桶名称
STORAGE_DOMAIN=你的域名
本地安装
通过 Smithery 安装
要通过 Smithery 为 Claude Desktop 自动安装 MCP 复制 FLUX:
bash
npx -y @smithery/cli install @andylee20014/mcp-replicate-flux --client claude
手动安装
按照以下步骤在本地设置项目:
bash
# 克隆仓库
git clone https://github.com/andylee20014/mcp-replicate-flux.git
cd mcp-replicate-flux
# 安装依赖
npm install
# 创建 .env 文件并添加凭证
cp .env.example .env
# 使用实际凭证编辑 .env
确保您的 Cloudflare R2 存储桶具有适当的 CORS 设置,以允许公共访问上传的图片。
本地运行
在本地启动 MCP 服务器:
bash
node index.js
服务器将启动并通过标准输入/输出监听 MCP 协议消息。
使用方法
服务器提供了一个 generate-image
工具,接受两个参数:
prompt
:用于生成图片的文本提示词filename
:生成的图片所需的文件名
集成示例
以下是使用 MCP 客户端库与此 MCP 服务器集成的示例:
javascript
const { McpClient } = require('@modelcontextprotocol/sdk/client/mcp.js')
async function generateImage(prompt, filename) {
const client = new McpClient()
// 连接到运行的 MCP 服务器
await client.connect(yourTransport)
const result = await client.tools.call('generate-image', {
prompt,
filename
})
return result
}
示例响应:
json
{
"content": [
{ "type": "text", "text": "图片成功生成并上传到 Cloudflare R2" },
{ "type": "image", "url": "https://你的域名.com/文件名.jpg" }
]
}
测试
提供了一个测试脚本,用于验证图片生成和上传功能。
运行测试
bash
node test.js
测试脚本将:
- 使用示例提示词生成图片
- 将图片上传到 Cloudflare R2
- 返回可访问的 URL
测试输出示例:
使用提示词生成图片:"一位美丽的女孩"
文件名:test-1234567890.jpg
图片生成并上传成功!
图片 URL:https://你的域名.com/test-1234567890.jpg
您可以在 test.js
中修改提示词来测试不同的图片生成场景。
Cursor MCP 配置
在Cursor中配置MCP服务器有两种方式:
方法1:完整配置方式
在 ~/.cursor/mcp.json
创建完整配置文件,包含所有环境变量:
json
{
"mcpServers": {
"replicate-flux": {
"command": "node",
"args": ["C:\\Users\\你的用户名\\路径\\到\\mcp-replicate-flux\\index.js"],
"description": "使用Replicate的FLUX模型生成图片并存储到Cloudflare R2的MCP服务器",
"env": {
"REPLICATE_API_TOKEN": "你的_replicate令牌",
"STORAGE_ENDPOINT": "你的_r2终端点",
"STORAGE_ACCESS_KEY": "你的_r2访问密钥",
"STORAGE_SECRET_KEY": "你的_r2秘密密钥",
"STORAGE_BUCKET": "你的存储桶名称",
"STORAGE_DOMAIN": "你的域名"
}
}
}
}
方法2:最小配置方式
如果你想单独管理环境变量(使用系统环境变量或.env文件),可以使用最小配置:
json
{
"mcpServers": {
"replicate-flux": {
"command": "node",
"args": ["C:\\Users\\你的用户名\\路径\\到\\mcp-replicate-flux\\index.js"]
}
}
}
使用最小配置时,请确保你的环境变量正确设置在以下位置之一:
- 系统环境变量
- 项目目录中的
.env
文件 - 云平台的环境变量(对于已部署的服务器)
注意事项
description
描述字段在两种方式中都是可选的- 配置文件中的环境变量优先级高于系统环境变量
- 更改配置后,需要重启Cursor以应用更改
项目结构
mcp-replicate-flux/
├── .env # 环境变量
├── index.js # MCP 服务器入口点
├── generateImage.js # 图片生成和 R2 上传逻辑
├── test.js # 测试脚本
└── README.md # 项目文档
故障排除
常见问题
- 图片生成失败:检查您的 Replicate API 令牌和配额
- R2 上传失败:验证您的 R2 凭证和存储桶权限
- 无法访问生成的图片:确保您的 R2 存储桶具有正确的 CORS 配置
协议说明
模型上下文协议(MCP)是一种 AI 模型交互标准,可实现不同 AI 系统之间的互操作性。此服务器实现了一个 MCP 工具,可与任何兼容 MCP 的客户端一起使用。
有关 MCP 的更多信息,请访问:https://mcp.freeaigen.com/
参考链接
许可证
MIT