小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
6
最近更新:1个月前

连接至 Replicate 的图像生成模型,支持通过文本生成图像,并自动将结果存储至云端,实现视觉内容的无缝集成。

MCP 复制 FLUX

smithery 徽章

一个使用 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

测试脚本将:

  1. 使用示例提示词生成图片
  2. 将图片上传到 Cloudflare R2
  3. 返回可访问的 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            # 项目文档

故障排除

常见问题

  1. 图片生成失败:检查您的 Replicate API 令牌和配额
  2. R2 上传失败:验证您的 R2 凭证和存储桶权限
  3. 无法访问生成的图片:确保您的 R2 存储桶具有正确的 CORS 配置

协议说明

模型上下文协议(MCP)是一种 AI 模型交互标准,可实现不同 AI 系统之间的互操作性。此服务器实现了一个 MCP 工具,可与任何兼容 MCP 的客户端一起使用。

有关 MCP 的更多信息,请访问:https://mcp.freeaigen.com/

参考链接

许可证

MIT