使用说明
项目简介
本项目是一个 MCP 服务器,它通过集成 Replicate 的 FLUX 模型和 Cloudflare R2 云存储,提供了一个便捷的图像生成服务。用户可以通过 MCP 客户端调用服务器提供的 'generate-image' 工具,输入文本提示词,即可生成高质量的图像,并获取可访问的图片 URL。
主要功能点
- 图像生成: 使用 Replicate 强大的 FLUX 模型,根据文本提示词生成高质量图像。
- 云端存储: 将生成的图像存储在 Cloudflare R2 对象存储服务中,确保数据安全可靠。
- URL 返回: 生成图像后,服务器会返回一个可公开访问的图片 URL,方便用户在各种应用中使用。
- 自定义参数: 支持自定义图像生成的文件名和提示词,满足用户的个性化需求。
- MCP 标准协议: 遵循 Model Context Protocol 标准,易于集成到任何兼容 MCP 协议的客户端。
安装步骤
-
克隆仓库
git clone https://github.com/andylee20014/mcp-replicate-flux.git cd mcp-replicate-flux -
安装依赖 确保已安装 Node.js (v16 或更高版本) 和 npm 或 yarn。
npm install -
配置环境变量 复制 '.env.example' 文件并重命名为 '.env',然后根据您的实际情况修改 '.env' 文件中的环境变量:
cp .env.example .env编辑 '.env' 文件,填入您的 Replicate API Token 和 Cloudflare R2 存储凭证:
REPLICATE_API_TOKEN=your_replicate_token # 您的 Replicate API 令牌 STORAGE_ENDPOINT=your_r2_endpoint # 您的 Cloudflare R2 Endpoint STORAGE_ACCESS_KEY=your_r2_access_key # 您的 Cloudflare R2 Access Key STORAGE_SECRET_KEY=your_r2_secret_key # 您的 Cloudflare R2 Secret Key STORAGE_BUCKET=your_bucket_name # 您的 Cloudflare R2 存储桶名称 STORAGE_DOMAIN=your_domain # 您的域名,用于访问 R2 存储桶中的文件注意: 您需要在 Cloudflare R2 控制台中配置存储桶的 CORS 设置,以允许公开访问上传的图片。
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器:
{ "server name": "Replicate-Flux", // 服务器名称,用于标识 "command": "node", // 启动服务器的命令 "args": ["index.js"] // 启动服务器命令的参数,这里指向 index.js 入口文件 }
请注意: 上述配置为 JSON 格式,MCP 客户端需要读取并正确解析这些配置信息。客户端还需要确保运行 MCP 服务器的环境中已配置正确的环境变量(例如 'REPLICATE_API_TOKEN' 等)。
基本使用方法
-
启动 MCP 服务器 在项目根目录下运行以下命令启动服务器:
node index.js服务器将通过标准输入/输出 (stdio) 监听 MCP 协议消息。
-
使用 MCP 客户端调用 'generate-image' 工具 使用任何兼容 MCP 协议的客户端,配置连接到该服务器。客户端可以使用 'generate-image' 工具,并传递 'prompt' 和 'filename' 参数来生成图像。
例如,使用 MCP 客户端 SDK 可以这样调用:
const { McpClient } = require('@modelcontextprotocol/sdk/client/mcp.js') async function generateImage(prompt, filename) { const client = new McpClient(); await client.connect(/* 您的 Transport 配置,例如 StdioTransport */); const result = await client.tools.call('generate-image', { prompt: prompt, filename: filename }); console.log(result); // 打印服务器返回的结果 } generateImage("a beautiful landscape", "landscape.jpg");调用 'generate-image' 工具时,需要提供以下参数:
- 'prompt': 文本提示词,用于描述 желаемый 生成的图像内容。
- 'filename': 期望保存的文件名,例如 'my-image.jpg'。
服务器会返回包含图像 URL 的 JSON 响应。
信息
分类
AI与计算