Seedream 4.0 MCP Server
Enables AI image generation using Volcano Engine's Seedream 4.0 API with text-to-image, image-to-image, multi-image fusion capabilities, built-in prompt templates, and automatic cloud storage integration.
README
Seedream 4.0 MCP 工具 (增强版)
基于火山引擎 Seedream 4.0 API 的 MCP(Model Context Protocol)工具集,提供文生图、图生图、多图融合和组图生成等功能。
致谢: 本项目基于 tengmmvp/Seedream_MCP 进行增强开发,感谢原作者的贡献!
增强功能:
- ✨ 七牛云自动上传和公网访问
- 🎨 提示词模板系统 (8个预设模板)
- 📸 Raycast AI Markdown 图片渲染支持
- 💾 优化的图片保存和管理
功能特性
- 🎨 文生图:根据文本描述生成高质量图像
- 🖼️ 图生图:基于参考图像和文本指令生成新图像
- 🎭 多图融合:融合多张参考图的特征生成新图像
- 📚 组图生成:生成一组内容关联的图像序列
- 💾 自动保存:自动下载并保存生成的图片到本地,解决 URL 过期问题
- ☁️ 七牛云上传:可选的七牛云存储集成,自动上传图片并生成公网可访问的 URL
- 📝 Markdown 支持:自动生成图片的 Markdown 引用格式(支持七牛云 URL 和本地路径)
- 🔧 完整的 MCP 协议支持:符合 MCP 标准,可与支持 MCP 的客户端无缝集成
- 🖼️ 直接图片显示:支持 MCP ImageContent 类型,可在客户端中直接预览图片
安装要求
- Python 3.8+
- 火山引擎 Seedream 4.0 API 密钥
安装方法
1. 克隆项目
git clone <repository-url>
cd Seedream_MCP
2. 安装依赖
pip install -e .
3. 配置环境变量
创建 .env 文件:
# 必需配置
ARK_API_KEY=your_api_key_here
# 可选配置
ARK_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
SEEDREAM_MODEL_ID=doubao-seedream-4-0-250828
SEEDREAM_DEFAULT_SIZE=2K
SEEDREAM_DEFAULT_WATERMARK=false
SEEDREAM_TIMEOUT=60
SEEDREAM_API_TIMEOUT=60
SEEDREAM_MAX_RETRIES=3
LOG_LEVEL=INFO
LOG_FILE=logs/seedream_mcp.log
# 自动保存配置
SEEDREAM_AUTO_SAVE_ENABLED=true
SEEDREAM_AUTO_SAVE_BASE_DIR=./seedream_images
SEEDREAM_AUTO_SAVE_DOWNLOAD_TIMEOUT=30
SEEDREAM_AUTO_SAVE_MAX_RETRIES=3
SEEDREAM_AUTO_SAVE_MAX_FILE_SIZE=52428800
SEEDREAM_AUTO_SAVE_MAX_CONCURRENT=5
SEEDREAM_AUTO_SAVE_DATE_FOLDER=true
SEEDREAM_AUTO_SAVE_CLEANUP_DAYS=30
# 七牛云配置(可选,用于上传图片到七牛云存储)
QINIU_ACCESS_KEY=your_access_key
QINIU_SECRET_KEY=your_secret_key
QINIU_BUCKET_NAME=your_bucket_name
QINIU_DOMAIN=https://your-domain.com
注意: 配置七牛云后,生成的图片会自动上传到七牛云,并在返回结果中提供公网可访问的 Markdown 图片链接。详见 七牛云集成文档。
4. 配置 MCP 客户端
在你的 MCP 客户端配置文件中添加以下配置:
Raycast AI / Claude Desktop / Cline 等:
{
"mcpServers": {
"seedream": {
"command": "python",
"args": [
"/你的路径/Seedream_MCP/main.py"
],
"env": {
"ARK_BASE_URL": "https://ark.cn-beijing.volces.com/api/v3"
}
}
}
}
配置文件位置:
- Raycast AI:
~/Library/Application Support/com.raycast.macos/mcp.json - Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - Cline (VSCode):
.vscode/settings.json或用户设置
重要提示:
- 将
/你的路径/Seedream_MCP/main.py替换为你的实际项目路径 - 确保 Python 环境已安装所有依赖
- 配置完成后重启 MCP 客户端
快速开始
在 MCP 客户端中使用 (推荐)
配置好 MCP 客户端后,你可以直接用自然语言对话生成图片:
示例 1: 基础文生图
你说:
帮我生成一张图片:一只可爱的小恐龙,友好的表情,卡通风格
AI 回复:

✅ 图片生成成功!
- 提示词: 一只可爱的小恐龙,友好的表情,卡通风格
- 尺寸: 2K
- 七牛云链接: https://newimg.t5t6.com/seedream/...
- 本地保存:
seedream_images/2025-11-18/text_to_image/...
示例 2: 使用提示词模板
你说:
潮流派对,关键词:可口可乐
AI 回复:

✅ 图片生成成功!
- 提示词: 中文"可口可乐",潮流派对风格艺术字体...
- 尺寸: 2K (默认 16:9)
- 七牛云链接: https://newimg.t5t6.com/seedream/...
示例 3: 公众号封面
你说:
公众号封面,主题:AI 技术革新
AI 回复:
✅ 图片生成成功!
- 提示词: 中文"AI 技术革新",公众号封面风格...
- 尺寸: 2K (自动使用 21:9 比例)
- 七牛云链接: https://newimg.t5t6.com/seedream/...
可用的提示词模板
直接说出模板名称 + 关键词即可:
| 模板名称 | 使用方式 | 适用场景 |
|---|---|---|
| 🎨 潮流派对 | "潮流派对,关键词:XXX" | 运营活动、艺术字体 |
| 📱 公众号封面 | "公众号封面,主题:XXX" | 公众号配图 (21:9) |
| 🎭 国潮风格 | "国潮风格,主题:XXX" | 中国风设计 |
| 🌸 小清新 | "小清新,主题:XXX" | 文艺清新风格 |
| 🎮 赛博朋克 | "赛博朋克,主题:XXX" | 科技未来风格 |
| 🏮 新年喜庆 | "新年喜庆,主题:XXX" | 节日庆典 |
| 💼 商务简约 | "商务简约,主题:XXX" | 商务场景 |
| 🎨 水彩插画 | "水彩插画,主题:XXX" | 手绘插画风格 |
作为 MCP 服务器运行
python -m seedream_mcp.server
在代码中使用
import asyncio
from seedream_mcp import SeedreamClient, SeedreamConfig
async def main():
# 加载配置
config = SeedreamConfig.from_env()
# 创建客户端
client = SeedreamClient(config)
try:
# 文生图(启用自动保存)
result = await client.text_to_image(
prompt="一只可爱的小猫咪,卡通风格",
size="2K",
watermark=False,
auto_save=True,
custom_name="cute_cat"
)
print(f"生成的图像URL: {result['image_url']}")
print(f"本地保存路径: {result['local_path']}")
print(f"Markdown引用: {result['markdown']}")
# 图生图
result = await client.image_to_image(
prompt="将这张图片转换为油画风格",
image="path/to/image.jpg",
size="2K",
auto_save=True
)
print(f"转换后的图像URL: {result['image_url']}")
print(f"本地保存路径: {result['local_path']}")
finally:
await client.close()
if __name__ == "__main__":
asyncio.run(main())
功能特性详解
🎨 提示词模板系统
内置 8 个专业提示词模板,只需说出模板名称 + 关键词即可生成对应风格的图片:
- 潮流派对: 运营活动风格艺术字体
- 公众号封面: 自动使用 21:9 比例,适合公众号配图
- 国潮风格: 中国传统元素与现代设计结合
- 小清新: 文艺清新风格
- 赛博朋克: 科技未来风格
- 新年喜庆: 节日庆典风格
- 商务简约: 专业商务场景
- 水彩插画: 手绘插画风格
☁️ 七牛云自动上传
配置七牛云后,生成的图片会自动上传到七牛云存储:
- ✅ 生成公网可访问的永久链接
- ✅ 自动生成 Markdown 图片格式
- ✅ 支持 Raycast AI 直接渲染图片
- ✅ 本地和云端双重保存
💾 智能图片管理
- 自动保存: 图片自动下载到本地,避免 URL 过期
- 按日期分类: 自动按年/月创建文件夹
- 自动清理: 可配置自动清理过期图片
- 并发下载: 支持多图并发下载,提高效率
工具说明
1. seedream_text_to_image
根据文本描述生成图像。
参数:
prompt(必需): 文本描述,建议不超过 300 汉字或 600 英文单词size(可选): 图像尺寸,可选值:1K、2K、4K,默认 2Kwatermark(可选): 是否添加水印,默认 falseresponse_format(可选): 响应格式,可选值:image、url、b64_json,默认 imageauto_save(可选): 是否自动保存图片到本地,默认使用全局配置save_path(可选): 自定义保存路径,不指定则使用默认路径custom_name(可选): 自定义文件名前缀
自然语言示例:
帮我生成一张图片:一只可爱的小猫咪,卡通风格
或使用提示词模板:
潮流派对,关键词:可口可乐
2. seedream_image_to_image
基于参考图像和文本指令生成新图像。
参数:
prompt(必需): 图像编辑指令image(必需): 参考图像 URL 或本地文件路径size(可选): 输出图像尺寸,默认 2Kwatermark(可选): 是否添加水印,默认 falseresponse_format(可选): 响应格式,可选值:image、url、b64_json,默认 imageauto_save(可选): 是否自动保存图片到本地,默认使用全局配置save_path(可选): 自定义保存路径,不指定则使用默认路径custom_name(可选): 自定义文件名前缀
示例:
{
"prompt": "将这张图片转换为油画风格",
"image": "https://example.com/image.jpg",
"size": "2K",
"watermark": false,
"auto_save": true,
"custom_name": "oil_painting"
}
3. seedream_multi_image_fusion
融合多张参考图的特征生成新图像。
参数:
prompt(必需): 融合指令描述images(必需): 多张参考图像 URL 或文件路径数组(2-5 张)size(可选): 输出图像尺寸,默认 2Kauto_save(可选): 是否自动保存图片到本地,默认使用全局配置save_path(可选): 自定义保存路径,不指定则使用默认路径custom_name(可选): 自定义文件名前缀
示例:
{
"prompt": "将这些图片融合成一个艺术作品",
"images": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg",
"https://example.com/image3.jpg"
],
"size": "4K",
"auto_save": true,
"custom_name": "fusion_art"
}
4. seedream_sequential_generation
生成一组内容关联的图像序列。
参数:
prompt(必需): 组图生成描述max_images(可选): 最大图像数量(1-10),默认 3images(可选): 参考图像数组size(可选): 图像尺寸,默认 2Kauto_save(可选): 是否自动保存图片到本地,默认使用全局配置save_path(可选): 自定义保存路径,不指定则使用默认路径custom_name(可选): 自定义文件名前缀
示例:
{
"prompt": "科幻城市景观,未来主义风格",
"max_images": 4,
"size": "2K",
"auto_save": true,
"custom_name": "sci_fi_city"
}
配置选项
| 环境变量 | 描述 | 默认值 | 必需 |
|---|---|---|---|
ARK_API_KEY |
火山引擎 API 密钥 | - | ✅ |
ARK_BASE_URL |
API 基础 URL | https://ark.cn-beijing.volces.com/api/v3 | ❌ |
SEEDREAM_MODEL_ID |
模型 ID | doubao-seedream-4-0-250828 | ❌ |
SEEDREAM_DEFAULT_SIZE |
默认图像尺寸 | 2K | ❌ |
SEEDREAM_DEFAULT_WATERMARK |
默认水印设置 | true | ❌ |
SEEDREAM_TIMEOUT |
请求超时时间(秒) | 60 | ❌ |
SEEDREAM_API_TIMEOUT |
API 超时时间(秒) | 60 | ❌ |
SEEDREAM_MAX_RETRIES |
最大重试次数 | 3 | ❌ |
LOG_LEVEL |
日志级别 | INFO | ❌ |
LOG_FILE |
日志文件路径 | logs/seedream_mcp.log | ❌ |
SEEDREAM_AUTO_SAVE_ENABLED |
是否启用自动保存 | true | ❌ |
SEEDREAM_AUTO_SAVE_BASE_DIR |
自动保存基础目录 | ./seedream_images | ❌ |
SEEDREAM_AUTO_SAVE_DOWNLOAD_TIMEOUT |
下载超时时间(秒) | 30 | ❌ |
SEEDREAM_AUTO_SAVE_MAX_RETRIES |
下载最大重试次数 | 3 | ❌ |
SEEDREAM_AUTO_SAVE_MAX_FILE_SIZE |
最大文件大小(字节) | 52428800 | ❌ |
SEEDREAM_AUTO_SAVE_MAX_CONCURRENT |
最大并发下载数 | 5 | ❌ |
SEEDREAM_AUTO_SAVE_DATE_FOLDER |
是否创建日期文件夹 | true | ❌ |
SEEDREAM_AUTO_SAVE_CLEANUP_DAYS |
自动清理天数 | 30 | ❌ |
自动保存功能
自动保存功能解决了生成图片 URL 在 24 小时后过期的问题,提供永久可用的本地图片存储。
核心特性
- 自动下载:生成图片后自动下载到本地指定目录
- 智能命名:使用时间戳 + 内容哈希 + 尺寸信息的命名规则
- 目录管理:按工具类型和日期自动分类存储
- Markdown 支持:自动生成本地图片的 Markdown 引用格式
- 错误恢复:下载失败时提供原始 URL 作为备选
- 并发下载:支持批量图片的并发下载处理
使用示例
# 启用自动保存的文生图
result = await client.text_to_image(
prompt="美丽的风景画",
auto_save=True,
custom_name="landscape"
)
# 返回结果包含:
# - image_url: 原始图片URL
# - local_path: 本地保存路径
# - markdown: Markdown引用格式
# - save_result: 保存操作的详细信息
文件组织结构
images/
├── 2024-01-15/
│ ├── text_to_image/
│ │ ├── landscape_20240115_143022_abc123_2K.png
│ │ └── portrait_20240115_143045_def456_4K.png
│ ├── image_to_image/
│ │ └── style_transfer_20240115_144001_ghi789_2K.png
│ └── multi_image_fusion/
│ └── fusion_art_20240115_145030_jkl012_4K.png
└── 2024-01-16/
└── ...
配置说明
- SEEDREAM_AUTO_SAVE_ENABLED: 全局启用/禁用自动保存
- SEEDREAM_AUTO_SAVE_BASE_DIR: 图片保存的根目录
- SEEDREAM_AUTO_SAVE_DATE_FOLDER: 是否按日期创建子文件夹
- SEEDREAM_AUTO_SAVE_MAX_FILE_SIZE: 限制下载的最大文件大小
- SEEDREAM_AUTO_SAVE_MAX_CONCURRENT: 控制并发下载数量
- SEEDREAM_AUTO_SAVE_CLEANUP_DAYS: 自动清理超过指定天数的旧文件
错误处理
工具提供完整的错误处理机制:
- 参数验证错误:检查必需参数和参数格式
- API 调用错误:处理网络错误、超时等问题
- 认证错误:API 密钥无效或过期
- 配额错误:API 调用次数超限
- 服务器错误:火山引擎服务异常
日志记录
工具支持详细的日志记录:
- 函数调用日志
- API 请求和响应日志
- 错误和异常日志
- 性能监控日志
日志级别可通过 LOG_LEVEL 环境变量配置。
开发和测试
运行测试
# 运行集成测试
python tests/test_mcp_integration.py
# 运行验证脚本
python verify_installation.py
项目结构
Seedream_MCP/
├── seedream_mcp/ # 主要代码
│ ├── __init__.py
│ ├── client.py # API客户端
│ ├── config.py # 配置管理
│ ├── server.py # MCP服务器
│ ├── tools/ # 工具实现
│ └── utils/ # 工具函数
├── docs/ # 文档目录
├── tests/ # 测试文件
├── examples/ # 使用示例
├── verifys/ # 验证脚本
├── .env.example # 环境变量示例
├── main.py # 主程序入口
├── requirements.txt # 依赖列表
└── README.md # 说明文档
常见问题
Q: 图片在 Raycast AI 中不显示?
A: 确保:
- 配置了七牛云 (图片需要公网可访问的 URL)
- 七牛云域名配置正确
- 重启 Raycast AI
Q: 如何关闭水印?
A: 在 .env 文件中设置:
SEEDREAM_DEFAULT_WATERMARK=false
Q: 图片保存在哪里?
A: 默认保存在 ./seedream_images/ 目录下,按日期和功能分类:
seedream_images/
├── 2025-11-18/
│ ├── text_to_image/
│ ├── image_to_image/
│ └── multi_image_fusion/
Q: 如何使用提示词模板?
A: 直接说出模板名称 + 关键词即可:
潮流派对,关键词:可口可乐
公众号封面,主题:AI 技术革新
国潮风格,主题:中秋节
贡献
欢迎贡献代码、报告问题或提出建议!
贡献方式
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的修改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个 Pull Request
开发指南
- 遵循现有代码风格
- 添加必要的测试
- 更新相关文档
- 确保所有测试通过
致谢
- 感谢 tengmmvp/Seedream_MCP 提供的原始项目
- 感谢火山引擎提供的 Seedream 4.0 API
- 感谢七牛云提供的云存储服务
许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。
联系方式
- GitHub Issues: https://github.com/joeseesun/Seedream_MCP/issues
- 原项目: https://github.com/tengmmvp/Seedream_MCP
⭐ 如果这个项目对你有帮助,请给个 Star!
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。