这是一个使用Replicate的FLUX模型生成图像,并将它们存储在Cloudflare R2中的Model Context Protocol (MCP)服务器。
使用Replicate的FLUX模型生成图像,并将它们存储在Model Context Protocol (MCP)服务器上的Cloudflare R2中。
.env 文件中需要的环境变量:
REPLICATE_API_TOKEN=your_replicate_token
STORAGE_ENDPOINT=your_r2_endpoint
STORAGE_ACCESS_KEY=your_r2_access_key
STORAGE_SECRET_KEY=your_r2_secret_key
STORAGE_BUCKET=your_bucket_name
STORAGE_DOMAIN=your_domain
要通过Smithery自动安装MCP Replicate FLUX for Claude Desktop:
npx -y @smithery/cli install @andylee20014/mcp-replicate-flux --client claude
按照以下步骤在本地设置项目:
# 克隆仓库
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设置,以便公众可以访问上传的图像。
确保您的Cloudflare R2存储桶具有适当的CORS设置,以允许公众访问上传的图像。
要启动本地的MCP服务器:
node index.js
服务器将启动并通过标准输入/输出监听MCP协议消息。
服务器提供了一个接受两个参数的generate-image工具:
prompt:用于生成图像的文本提示filename:生成图像所需的文件名服务器提供了一个接受两个参数的generate-image工具:
prompt:用于生成图像的文本提示词filename:生成图像所需的文件名这里是一个如何使用MCP客户端库与这个MCP服务器集成的例子:
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
}
示例响应:
{
"content": [
{ "type": "text", "text": "图像成功生成并上传到Cloudflare R2" },
{ "type": "image", "url": "https://your-domain.com/filename.jpg" }
]
}
提供了一个测试脚本来验证图像生成和上传功能。
node test.js
测试脚本将:
示例测试输出:
使用提示词“一个美丽的女孩”生成图像
文件名:test-1234567890.jpg
图像生成并上传成功!
图像URL:https://your-domain.com/test-1234567890.jpg
您可以修改test.js中的提示词来测试不同的图像生成场景。
在Cursor中有两种方式来配置MCP服务器:
在~/.cursor/mcp.json创建包含所有环境变量的完整配置文件:
{
"mcpServers": {
"replicate-flux": {
"command": "node",
"args": ["C:\\Users\\YourUsername\\path\\to\\mcp-replicate-flux\\index.js"],
"description": "使用Replicate的FLUX模型生成图片并存储到Cloudflare R2的MCP服务器",
"env": {
"REPLICATE_API_TOKEN": "your_replicate_token",
"STORAGE_ENDPOINT": "your_r2_endpoint",
"STORAGE_ACCESS_KEY": "your_r2_access_key",
"STORAGE_SECRET_KEY": "your_r2_secret_key",
"STORAGE_BUCKET": "your_bucket_name",
"STORAGE_DOMAIN": "your_domain"
}
}
}
}
如果您希望单独管理环境变量(使用系统环境变量或.env文件),可以使用最小配置:
{
"mcpServers": {
"replicate-flux": {
"command": "node",
"args": ["C:\\Users\\YourUsername\\path\\to\\mcp-replicate-flux\\index.js"]
}
}
}
当使用最小配置时,请确保您的环境变量正确设置在以下位置之一:
.env文件description字段在两种方法中都是可选的mcp-replicate-flux/
├── .env # 环境变量
├── index.js # MCP服务器入口点
├── generateImage.js # 图像生成和R2上传逻辑
├── test.js # 测试脚本
└── README.md # 项目文档
Model Context Protocol (MCP)是一种AI模型交互标准,使不同AI系统之间能够互操作。此服务器实现了一个MCP工具,可以与任何兼容MCP的客户端一起使用。
对于更多关于MCP的信息,请访问:https://mcp.freeaigen.com/
MIT