返回市场
深梦想_MCP

深梦想_MCP

作者:joeseesun13 星标更新:2025-11-18

项目介绍

Seedream 4.0 MCP 工具(增强版)

Python License MCP Status

基于火山引擎Seedream 4.0 API的MCP(模型上下文协议)工具包提供了诸如文本生成图像、图像生成图像、多图像融合以及图像生成等功能。

致谢 该项目基于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(可选):图像尺寸,可选值:1K, 2K, 4K,默认2K
  • watermark(可选):是否添加水印,默认false
  • response_format(可选):响应格式,可选值:image, URL, b64_json,默认image
  • auto_save(可选):是否自动保存图像至本地,默认使用全局配置
  • save_path(可选):自定义保存路径,未指定时使用默认路径
  • custom_name(可选):自定义文件名前缀

自然语言示例:

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

或使用提示词模板:

潮流派对,关键词:可口可乐

2. seedream_image_to_image

根据参考图像和文本指令生成新图像。

参数

  • prompt(必填):图像编辑指令
  • image(必填):参考图像URL或本地文件路径
  • size(可选):输出图像尺寸,默认2K
  • watermark(可选):是否添加水印,默认false
  • response_format(可选):响应格式,可选值:image, URL, b64_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_URLAPI基础URLhttps://ark.cn-beijing.volces.com/api/v3
SEEDREAM_MODEL_ID模型IDdoubao-seedream-4-0-250828
SEEDREAM_DEFAULT_SIZE默认图像尺寸2K
SEEDREAM_DEFAULT_WATERMARK默认水印设置true
SEEDREAM_TIMEOUT请求超时(秒)60
SEEDREAM_API_TIMEOUTAPI超时(秒)60
SEEDREAM_MAX_RETRIES最大重试次数3
LOG_LEVEL日志级别INFO
LOG_FILE日志文件路径logs/setteam-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_