DALL-E MCP 服务器
一种MCP(模型上下文协议)服务器,用于使用OpenAI的DALL-E API生成图像。
特性
- 使用 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.jsCline配置
将dall-e服务器添加到VSCode设置中的Cline MCP设置文件中(例如~/.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(“标准”或“hd”,默认值:“标准”)style(可选):生成图像的样式,仅DALL-E 3(“生动”或“自然”,默认:“生动”)n(可选):要生成的图像数量(1-10,默认值:1)saveDir(可选):保存生成图像的目录(默认:当前目录或.env中的save_DIR)。 对于Cline用户: 建议将其设置为当前工作区目录,以便正确显示图像。fileName(可选):生成的图像的基本文件名,不带扩展名(默认值:“dalle-{timestamp}”)
edit_image
基于文本提示,使用DALL-E编辑现有图像。
⚠️ 已知问题(2025年3月18日): DALL-E2图像编辑API目前有一个错误,它有时会忽略提示并返回原始图像而不进行任何编辑,即使使用正确的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配置仅用于运行测试,不用于正常操作。
如果您正在为此项目开发或运行测试,请创建 .env 根目录中使用OpenAI API密钥的文件:
# 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设置JSON中配置您的API密钥,如上面“添加到MCP设置”部分所述。
您可以从获取API密钥 OpenAI的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 可用于测试编辑和变体功能的目录。
许可证
麻省理工学院
