使用说明

项目简介

Image Generation MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 协议调用图像生成功能。该服务器集成了 Replicate 的 'black-forest-labs/flux-schnell' 模型,能够根据文本提示生成图像,并提供丰富的参数配置选项。

主要功能点

  • 文本到图像生成: 根据用户提供的文本提示生成高质量图像。
  • 可配置的图像参数: 支持调整图像的分辨率、宽高比、质量、生成数量等参数。
  • 图像保存: 生成的图像可以保存到服务器指定目录,方便后续使用和管理。
  • MCP 协议兼容: 完全遵循 MCP 协议,可以与任何 MCP 客户端(如 Cursor 编辑器)无缝集成。
  • 错误处理: 提供完善的错误处理机制,能够识别并报告各种错误,如参数验证错误、API 调用错误和服务器内部错误。
  • 缓存机制: 内置缓存系统,对于相同的请求参数,能够快速返回之前生成的结果,提高效率。

安装步骤

  1. 克隆仓库
    git clone https://github.com/mikeyny/ai-image-gen-mcp.git
    cd ai-image-gen-mcp
  2. 安装依赖 确保已安装 Node.js 16 或更高版本。然后运行:
    npm install
  3. 配置 Replicate API Token 在 'src/imageService.ts' 文件中,找到 'apiToken' 变量,将 'YOUR API TOKEN HERE' 替换为你的 Replicate API Token。
    const apiToken = process.env.REPLICATE_API_TOKEN || "YOUR API TOKEN HERE";
    注意: 如果你在 Claude 等环境中使用,也可以在项目根目录下创建 '.env' 文件,并设置 'REPLICATE_API_TOKEN' 环境变量。
    REPLICATE_API_TOKEN=your-replicate-api-token-here
  4. 构建项目 运行以下命令编译 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与计算