使用说明
项目简介
Image Generation MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 协议调用图像生成功能。该服务器集成了 Replicate 的 'black-forest-labs/flux-schnell' 模型,能够根据文本提示生成图像,并提供丰富的参数配置选项。
主要功能点
- 文本到图像生成: 根据用户提供的文本提示生成高质量图像。
- 可配置的图像参数: 支持调整图像的分辨率、宽高比、质量、生成数量等参数。
- 图像保存: 生成的图像可以保存到服务器指定目录,方便后续使用和管理。
- MCP 协议兼容: 完全遵循 MCP 协议,可以与任何 MCP 客户端(如 Cursor 编辑器)无缝集成。
- 错误处理: 提供完善的错误处理机制,能够识别并报告各种错误,如参数验证错误、API 调用错误和服务器内部错误。
- 缓存机制: 内置缓存系统,对于相同的请求参数,能够快速返回之前生成的结果,提高效率。
安装步骤
- 克隆仓库
git clone https://github.com/mikeyny/ai-image-gen-mcp.git cd ai-image-gen-mcp - 安装依赖
确保已安装 Node.js 16 或更高版本。然后运行:
npm install - 配置 Replicate API Token
在 'src/imageService.ts' 文件中,找到 'apiToken' 变量,将 'YOUR API TOKEN HERE' 替换为你的 Replicate API Token。
注意: 如果你在 Claude 等环境中使用,也可以在项目根目录下创建 '.env' 文件,并设置 'REPLICATE_API_TOKEN' 环境变量。const apiToken = process.env.REPLICATE_API_TOKEN || "YOUR API TOKEN HERE";REPLICATE_API_TOKEN=your-replicate-api-token-here - 构建项目
运行以下命令编译 TypeScript 代码:
npm run build
服务器配置
对于 MCP 客户端(例如 Cursor),你需要配置一个新的 MCP 服务器连接。配置类型选择 "Command",并填入以下命令。
{ "serverName": "Image Generation Server", "command": "node", "args": [ "./path/to/dist/server.js" // 将"./path/to/dist/server.js" 替换为实际的 server.js 文件路径 ], "type": "command" }
参数注释:
- 'serverName': MCP 服务器的名称,可以自定义,例如 "Image Generation Server"。
- 'command': 启动服务器的命令,这里是 'node',表示使用 Node.js 运行。
- 'args': 命令的参数列表,这里只有一个参数,即 'server.js' 文件的路径。你需要将 '"./path/to/dist/server.js"' 替换为实际的 'server.js' 文件在你系统中的绝对或相对路径。 例如,如果你的 'dist' 文件夹在用户主目录下,并且你从用户主目录启动 Cursor,那么路径可能是 '"./dist/server.js"'。 请务必根据你的实际文件路径进行修改。
- 'type': 服务器类型,固定为 '"command"'。
基本使用方法
配置完成后,在 MCP 客户端中,你可以调用 'generate-image' 工具来生成图像。你需要提供以下参数:
- 'prompt' (string, 必填): 图像生成的文本提示。
- 'output_dir' (string, 必填): 服务器上用于保存生成图像的绝对路径。请务必使用绝对路径,并注意不同操作系统的路径格式 (Windows 使用 'C:\\path\\to\\dir',Unix/Mac 使用 '/path/to/dir')。
- 'filename' (string, 可选): 生成图像的基本文件名,如果不提供,则使用默认文件名。
- 其他可选参数 (go_fast, megapixels, num_outputs, aspect_ratio, output_format, output_quality, num_inference_steps): 用于调整图像生成的各种参数,具体参考仓库 README.md 中的 "API Parameters" 表格。
示例请求 (JSON 格式):
{ "action": "call-tool", "tool_name": "generate-image", "parameters": { "prompt": "a futuristic cityscape at sunset", "output_dir": "/tmp/images", // 替换为你服务器上实际存在的绝对路径 "filename": "futuristic_city", "aspect_ratio": "16:9" } }
服务器会返回包含图像保存路径的 JSON 响应。
信息
分类
AI与计算