DALLE-MCP图像生成服务器
一个MCP服务器,允许用户通过OpenAI的DALL-E API生成、编辑和创建图像的变化,支持DALL-E 2和DALL-E 3模型。
服务介绍
DALL-E MCP 服务器
一个使用 OpenAI 的 DALL-E API 生成图像的 MCP(Model Context Protocol)服务器。
特性
- 使用 DALL-E 2 或 DALL-E 3 生成图像
- 编辑现有图像(仅限 DALL-E 2)
- 创建现有图像的变化版本(仅限 DALL-E 2)
- 验证 OpenAI API 密钥
安装
# Clone the repository
git clone https://github.com/Garoth/dalle-mcp.git
cd dalle-mcp
# Install dependencies
npm install
# Build the project
npm run build
对 Cline 用户的重要提示
当使用此 DALL-E MCP 服务器与 Cline 时,建议通过将 saveDir 参数设置为与您当前的工作目录相匹配,来在当前工作空间目录中保存生成的图像。这确保了 Cline 能够正确地定位并在您的对话中显示生成的图像。
使用 Cline 的示例:
{
"prompt": "A tropical beach at sunset",
"saveDir": "/path/to/current/workspace"
}
使用方法
运行服务器
# Run the server
node build/index.js
Cline 配置
在 VSCode 设置中的 Cline MCP 设置文件内添加 dall-e 服务器(例如:~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):
{
"mcpServers": {
"dalle-mcp": {
"command": "node",
"args": ["/path/to/dalle-mcp-server/build/index.js"],
"env": {
"OPENAI_API_KEY": "your-api-key-here",
"SAVE_DIR": "/path/to/save/directory"
},
"disabled": false,
"autoApprove": []
}
}
}
请确保:
- 将
/path/to/dalle-mcp-server/build/index.js替换为实际构建的 index.js 文件路径。 - 将
your-api-key-here替换为您的 OpenAI API 密钥。
可用工具
generate_image
基于文本提示使用 DALL-E 生成图像。
{
"prompt": "A futuristic city with flying cars and neon lights",
"model": "dall-e-3",
"size": "1024x1024",
"quality": "standard",
"style": "vivid",
"n": 1,
"saveDir": "/path/to/save/directory",
"fileName": "futuristic-city"
}
参数:
prompt(必需): 所需图像的文字描述model(可选): 使用的 DALL-E 模型 ("dall-e-2" 或 "dall-e-3", 默认: "dall-e-3")size(可选): 生成图像的大小 (默认: "1024x1024")- DALL-E 3: "1024x1024", "1792x1024", 或 "1024x1792"
- DALL-E 2: "256x256", "512x512", 或 "1024x1024"
quality(可选): 生成图像的质量,仅适用于 DALL-E 3 ("standard" 或 "hd", 默认: "standard")style(可选): 生成图像的风格,仅适用于 DALL-E 3 ("vivid" 或 "natural", 默认: "vivid")n(可选): 生成的图像数量 (1-10, 默认: 1)saveDir(可选): 保存生成图像的目录 (默认: 当前目录或来自 .env 的 SAVE_DIR)。对于 Cline 用户: 建议将其设置为您当前的工作区目录以正确显示图像。fileName(可选): 生成图像的基本文件名,不带扩展名 (默认: "dalle-{timestamp}")
edit_image
基于文本提示使用 DALL-E 编辑现有图像。
⚠️ 已知问题 (2025年3月18日): 目前 DALL-E 2 图像编辑 API 存在一个 bug,有时会忽略提示并返回未经任何编辑的原始图像,即使使用了正确的 RGBA 格式的图像和蒙版也是如此。该问题已在 OpenAI 社区论坛 上报告。如果您遇到此问题,请尝试使用
create_variation工具,它似乎更可靠。
{
"prompt": "Add a red hat",
"imagePath": "/path/to/image.png",
"mask": "/path/to/mask.png",
"model": "dall-e-2",
"size": "1024x1024",
"n": 1,
"saveDir": "/path/to/save/directory",
"fileName": "edited-image"
}
参数:
prompt(必需): 想要编辑的文本描述imagePath(必需): 要编辑的图片路径mask(可选): 掩码图片的路径(白色区域将被编辑,黑色区域保持不变)model(可选): 使用的DALL-E模型(目前只有"dall-e-2"支持编辑,默认: "dall-e-2")size(可选): 生成图像的大小(默认: "1024x1024")n(可选): 生成的图片数量(1-10,默认: 1)saveDir(可选): 保存编辑后图片的目录(默认: 当前目录或.env中的SAVE_DIR)。对于Cline用户: 建议设置为当前工作区目录以确保图像正确显示。fileName(可选): 编辑后图片的基本文件名(不带扩展名,默认: "dalle-edit-{timestamp}")
create_variation
使用DALL-E创建现有图像的变化版本。
{
"imagePath": "/path/to/image.png",
"model": "dall-e-2",
"size": "1024x1024",
"n": 4,
"saveDir": "/path/to/save/directory",
"fileName": "image-variation"
}
参数:
imagePath(必需): 创建变化版本的图片路径model(可选): 使用的DALL-E模型(目前只有"dall-e-2"支持变化,默认: "dall-e-2")size(可选): 生成图像的大小(默认: "1024x1024")n(可选): 生成的变化版本数量(1-10,默认: 1)saveDir(可选): 保存变化版本图片的目录(默认: 当前目录或.env中的SAVE_DIR)。对于Cline用户: 建议设置为当前工作区目录以确保图像正确显示。fileName(可选): 变化版本图片的基本文件名(不带扩展名,默认: "dalle-variation-{timestamp}")
validate_key
验证OpenAI API密钥。
{}
无需参数。
开发
测试配置
注意:以下.env配置仅在运行测试时需要,正常操作不需要。
如果您正在开发此项目或运行测试,请在根目录下创建一个包含您的OpenAI API密钥的.env文件:
# Required for TESTS ONLY: OpenAI API Key
OPENAI_API_KEY=your-api-key-here
# Optional: Default save directory for test images
# If not specified, images will be saved to the current directory
# SAVE_DIR=/path/to/save/directory
对于使用Cline进行常规操作,请按照上述“添加到MCP设置”部分中的说明在MCP设置JSON中配置您的API密钥。
您可以从OpenAI的API密钥页面获取您的API密钥。
运行测试
# Run basic tests
npm test
# Run all tests including edit and variation tests
npm run test:all
# Run tests in watch mode
npm run test:watch
# Run specific test by name
npm run test:name "should validate API key"
注意:测试会使用实际API调用,可能会对您的OpenAI账户产生费用。
生成测试图像
项目包括一个脚本,用于为开发和测试生成测试图像:
# Generate a test image in the assets directory
npm run generate-test-image
这将在assets目录中创建一个简单的测试图像,可用于测试编辑和变化功能。
许可证
MIT