这是一个使用OpenAI的DALL-E API生成图像的MCP(模型上下文协议)服务器。
# 克隆仓库
git clone https://github.com/Garoth/dalle-mcp.git
cd dalle-mcp
# 安装依赖
npm install
# 构建项目
npm run build
当与Cline一起使用此DALL-E MCP服务器时,建议通过设置saveDir参数来保存生成的图像到当前工作空间目录。这确保了Cline能够正确地定位并显示生成的图像。
示例用法与Cline:
{
"prompt": "日落时分的热带海滩",
"saveDir": "/path/to/current/workspace"
}
# 运行服务器
node build/index.js
在VSCode的设置中添加dall-e服务器到你的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密钥基于文本提示使用DALL-E生成图像。
{
"prompt": "拥有飞行汽车和霓虹灯的未来城市",
"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")
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-{时间戳}")基于文本提示使用DALL-E编辑现有图像。
⚠️ 已知问题(2025年3月18日):目前DALL-E 2图像编辑API存在一个bug,有时会忽略提示并返回未做任何编辑的原始图像,即使使用正确的RGBA格式图像和遮罩也是如此。此问题已在OpenAI社区论坛报告。如果遇到此问题,尝试使用
create_variation工具,该工具似乎更可靠。
{
"prompt": "添加一顶红色帽子",
"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-{时间戳}")使用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-{时间戳}")验证OpenAI API密钥。
{}
无需参数。
注意:以下.env配置仅用于运行测试,而非正常操作。
如果你正在为此项目进行开发或运行测试,请在根目录创建一个.env文件,并包含你的OpenAI API密钥:
# 仅用于测试:OpenAI API密钥
OPENAI_API_KEY=your-api-key-here
# 可选:测试图像的默认保存目录
# 如果未指定,图像将保存到当前目录
# SAVE_DIR=/path/to/save/directory
对于与Cline的正常操作,按照上述“添加到MCP设置”部分所述,在MCP设置JSON中配置你的API密钥。
你可以从OpenAI的API密钥页面获取你的API密钥。
# 运行基本测试
npm test
# 运行所有测试,包括编辑和变体测试
npm run test:all
# 在监视模式下运行测试
npm run test:watch
# 按名称运行特定测试
npm run test:name "应验证API密钥"
注意:测试使用真实的API调用,可能会产生费用。
该项目包含一个脚本,用于生成开发和测试用的测试图像:
# 在assets目录生成一个测试图像
npm run generate-test-image
这将在assets目录中创建一个简单的测试图像,可用于测试编辑和变体功能。
MIT