项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为支持 MCP 的大型语言模型 (LLM) 客户端(如 Cline、Claude Desktop 等)提供图片生成能力。它利用 OpenAI 的 DALL-E 模型根据文本描述创建图像,并将生成的图片保存到指定项目的公共目录。

主要功能点

  • 使用 OpenAI (DALL-E 2, DALL-E 3, gpt-image-1) API 生成高质量图片。
  • 支持指定图片尺寸、质量和使用的 OpenAI 模型。
  • 可根据项目特定的品牌签名调整生成图片的风格。
  • 将生成的图片文件保存到 LLM 客户端指定的项目路径中。
  • 提供详细的工具使用文档(在代码注释中),指导 LLM 如何有效调用。

安装步骤

  1. 确保已安装 Node.js (推荐 v18+) 和 npm。
  2. 从 GitHub 克隆此仓库到您的本地机器。
    git clone https://github.com/dfeirstein/image-creator-mcp.git image-mcp-server
    cd image-mcp-server
  3. 在仓库根目录运行 'npm ci' 安装依赖。
    npm ci
  4. 运行 'npm run build' 编译 TypeScript 代码。
    npm run build
  5. 获取您的 OpenAI API Key (格式通常为 'sk-...')。您可以在 platform.openai.com/api-keys 创建。

服务器配置

MCP 服务器需要通过 MCP 客户端来启动和管理。您需要在客户端的 MCP 配置 JSON 文件中添加一个条目来定义此服务器。MCP 客户端通过配置中的 'command' 和 'args' 来启动服务器进程,并通过 'transportType' 指定的协议(此服务器默认使用 'stdio')进行通信。

以下是一个示例配置结构,请添加到您的 MCP 客户端设置文件(例如 'cline_mcp_settings.json' 或 'claude_desktop_config.json')中的 '"mcpServers": { ... }' 对象内:

// 在客户端设置文件中的 "mcpServers": { ... } 对象内添加
"image-mcp-server": {
  // MCP 服务器进程的启动命令
  "command": "node",
  // 传递给命令的参数,此处是服务器构建后的入口文件路径
  // IMPORTANT: 使用您克隆仓库后 dist/index.js 文件的绝对路径
  "args": [
    "/your/absolute/path/to/image-creator-mcp/dist/index.js"
  ],
  // 服务器进程的工作目录
  // IMPORTANT: 使用您克隆仓库的绝对路径
  "cwd": "/your/absolute/path/to/image-creator-mcp",
  // 传递给服务器进程的环境变量
  "env": {
    // IMPORTANT: 替换为您的实际 OpenAI API Key
    "OPENAI_API_KEY": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  // --- 标准 MCP 配置 ---
  "disabled": false,      // 设置为 true 可禁用此服务器
  "autoApprove": [],      // 列出自动批准调用的工具名称 (例如:["create_image"])
  "transportType": "stdio", // 服务器与客户端的通信方式,此服务器使用 stdio
  "timeout": 60           // 请求超时时间(秒,可选)
}
// 如果这不是列表中的第一个服务器配置,请确保前面有逗号。

请将 '"command"' 和 '"cwd"' 中的占位符 '/your/absolute/path/to/image-creator-mcp' 替换为您实际克隆仓库的绝对路径,并将 '"env"' 中的 'OPENAI_API_KEY' 替换为您的真实 OpenAI API Key

保存客户端设置文件后,支持 MCP 的客户端通常会自动检测更改并连接到此服务器。

基本使用方法

配置完成后,支持 MCP 的 LLM 客户端应能自动发现并连接到此服务器。LLM 可以通过调用服务器提供的 'create_image' 工具来生成图片。调用时,LLM 需要在工具参数中提供详细的图片 'prompt' (描述)、希望保存的 'filename' (文件名,包含扩展名如 '.png')、'targetProjectDir' (目标项目目录的绝对路径) 以及可选的 'size'、'quality'、'model'、'outputPath' (目标目录下的子目录) 等参数。

服务器成功生成图片后,会将图片保存到 'targetProjectDir' 下的 'public' 目录(如果提供了 'outputPath',则保存到 'public/outputPath' 子目录中),并返回一个包含图片相对于 'public' 目录的 'path'、'bytes' 大小等信息的 JSON 对象给 LLM。LLM 可以解析此响应来获取保存的文件路径信息。

信息

分类

AI与计算