S

Seedream_MCP

@joeseesun/Seedream_MCP
0 Stars 206 次浏览 joeseesun 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "seedream": {
      "args": [
        "/你的路径/Seedream_MCP/main.py"
      ],
      "command": "python",
      "env": {
        "ARK_BASE_URL": "https://ark.cn-beijing.volces.com/api/v3"
      }
    }
  }
}

服务介绍

Seedream 4.0 MCP 工具 (增强版)

Python
License
MCP
Status

基于火山引擎 Seedream 4.0 API 的 MCPModel 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 回复:

示例图片1

图片生成成功

  • 提示词: 一只可爱的小恐龙友好的表情卡通风格
  • 尺寸: 2K
  • 七牛云链接: https://newimg.t5t6.com/seedream/...
  • 本地保存: seedream_images/2025-11-18/text_to_image/...

示例 2: 使用提示词模板

你说:

潮流派对关键词可口可乐

AI 回复:

示例图片2

图片生成成功


示例 3: 公众号封面

你说:

公众号封面主题AI 技术革新

AI 回复:

图片生成成功


可用的提示词模板

直接说出模板名称 + 关键词即可:

模板名称 使用方式 适用场景
潮流派对 "潮流派对关键词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 (可选): 图像尺寸可选值1K2K4K默认 2K
  • watermark (可选): 是否添加水印默认 false
  • response_format (可选): 响应格式可选值imageurlb64_json默认 image
  • auto_save (可选): 是否自动保存图片到本地默认使用全局配置
  • save_path (可选): 自定义保存路径不指定则使用默认路径
  • custom_name (可选): 自定义文件名前缀

自然语言示例

帮我生成一张图片一只可爱的小猫咪卡通风格

或使用提示词模板:

潮流派对关键词可口可乐

2. seedream_image_to_image

基于参考图像和文本指令生成新图像

参数

  • prompt (必需): 图像编辑指令
  • image (必需): 参考图像 URL 或本地文件路径
  • size (可选): 输出图像尺寸默认 2K
  • watermark (可选): 是否添加水印默认 false
  • response_format (可选): 响应格式可选值imageurlb64_json默认 image
  • auto_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 (可选): 输出图像尺寸默认 2K
  • auto_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默认 3
  • images (可选): 参考图像数组
  • size (可选): 图像尺寸默认 2K
  • auto_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: 确保:

  1. 配置了七牛云 (图片需要公网可访问的 URL)
  2. 七牛云域名配置正确
  3. 重启 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 技术革新
国潮风格主题中秋节

贡献

欢迎贡献代码报告问题或提出建议!

贡献方式

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的修改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

开发指南

  • 遵循现有代码风格
  • 添加必要的测试
  • 更新相关文档
  • 确保所有测试通过

致谢

  • 感谢 tengmmvp/Seedream_MCP 提供的原始项目
  • 感谢火山引擎提供的 Seedream 4.0 API
  • 感谢七牛云提供的云存储服务

许可证

本项目采用 MIT 许可证详见 LICENSE 文件

联系方式


** 如果这个项目对你有帮助,请给个 Star!**

相关 MCP 服务