使用说明

项目简介

本项目是一个实现了Model Context Protocol (MCP) 的服务器,旨在为LLM客户端提供图像生成能力。通过注册 'generate_images' 工具,允许LLM应用调用此服务器,根据文本描述生成图像素材,并保存到指定文件夹。服务器支持使用OpenAI的DALL-E 3 或 Google的 Gemini API 作为图像生成引擎,根据配置的API密钥自动选择。

主要功能点

  • 文本生成图像: 根据用户提供的自然语言文本描述,生成高质量的图像素材。
  • 支持多种图像生成引擎: 可使用OpenAI DALL-E 3 或 Google Gemini API,根据API密钥自动选择。
  • 批量生成: 支持一次性生成多张图像,提高效率。
  • 保存到指定目录: 生成的图像以PNG格式保存到用户指定的文件夹中。
  • 详细结果反馈: 返回每张图像生成尝试的详细结果,包括成功状态和文件路径,或失败原因。

安装步骤

  1. 克隆仓库 (如果需要):
    git clone https://github.com/prasanjit101/image-asset-generator.git
    cd image-asset-generator
  2. 安装依赖:
    npm install
  3. 构建服务器:
    npm run build
    构建成功后,可执行文件将位于 'build/index.js'。

服务器配置

MCP客户端需要配置以下信息以启动并连接到图像素材生成器服务器。请将以下JSON配置添加到您的MCP客户端配置中,并根据您的实际环境修改 'command' 和 'args' 字段

{
  "serverName": "image-asset-generator",
  "command": "node",
  "args": [
    "build/index.js"
  ],
  "env": {
    "OPENAI_API_KEY": "<您的OpenAI API密钥>",
    "GEMINI_API_KEY": "<您的Google Gemini API密钥>"
  }
}

配置参数说明:

  • 'serverName': 服务器名称,设置为 'image-asset-generator',用于在MCP客户端中标识该服务器。
  • 'command': 运行服务器的命令,这里使用 'node' 来执行JavaScript代码。
  • 'args': 传递给 'command' 的参数,指向构建后的服务器主文件 'build/index.js'。请确保此路径相对于MCP客户端的运行环境是正确的。
  • 'env': 重要: 用于配置API密钥的环境变量。您需要至少配置 'OPENAI_API_KEY' 或 'GEMINI_API_KEY' 中的一个,用于选择图像生成服务。建议只配置您想要使用的服务的API密钥。 请将 '<您的OpenAI API密钥>' 或 '<您的Google Gemini API密钥>' 替换为您实际的API密钥。 如果同时配置了两个API密钥,Gemini API 将优先使用。

注意: API 密钥是敏感信息,请妥善保管,避免泄露。在生产环境中,建议使用更安全的方式管理API密钥,例如使用密钥管理服务。

基本使用方法

配置完成后,MCP客户端将能够连接到此图像素材生成器服务器。您可以通过MCP客户端调用服务器提供的 'generate_images' 工具来生成图像。

调用 'generate_images' 工具的示例请求 (JSON-RPC request):

{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "tool_name": "generate_images",
    "tool_args": {
      "outputFolder": "path/to/your/assets",
      "images": [
        {
          "description": "A photo of a cat wearing sunglasses",
          "filename": "cool_cat"
        },
        {
          "description": "A futuristic car driving through a cyberpunk city",
          "filename": "cyberpunk_car"
        }
      ]
    }
  },
  "id": 1
}

请求参数说明:

  • 'tool_name': 要调用的工具名称,固定为 'generate_images'。
  • 'tool_args': 工具的参数,包括:
    • 'outputFolder': 生成的图像保存的文件夹路径。
    • 'images': 一个图像描述数组,每个元素包含:
      • 'description': 图像的文本描述。
      • 'filename': 图像的文件名 (不包含扩展名)。

服务器将返回一个JSON-RPC响应,其中包含图像生成的总体成功状态和每张图像的详细结果,包括成功生成的文件路径或失败原因。请参考仓库的 'README.md' 文件中提供的返回示例来解析响应结果。

信息

分类

AI与计算