使用说明
项目简介
本项目是一个实现了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格式保存到用户指定的文件夹中。
- 详细结果反馈: 返回每张图像生成尝试的详细结果,包括成功状态和文件路径,或失败原因。
安装步骤
- 克隆仓库 (如果需要):
git clone https://github.com/prasanjit101/image-asset-generator.git cd image-asset-generator - 安装依赖:
npm install - 构建服务器:
构建成功后,可执行文件将位于 'build/index.js'。npm run build
服务器配置
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与计算