Skip to main content
Glama
FIXES_SUMMARY.md4.36 kB
# Seedream MCP 图片生成问题修复总结 ## 问题诊断 经过测试,发现你的 MCP 工具**实际上是可以正常工作的**: - ✅ API 调用成功 - ✅ 图片生成成功 - ✅ 工具返回格式正确 **真正的问题**:MCP 协议默认返回的是**纯文本格式**,而不是直接显示图片。虽然返回了图片 URL,但在某些 MCP 客户端中可能无法直接预览图片。 ## 用户需求 1. **图片本地存储**: 需要知道生成的图片保存在哪里 2. **简单提示词支持**: 希望能用"生成个小猫"这样的简单描述 3. **复杂提示词支持**: 也要支持详细的描述 ## 解决方案 ### 1. 添加 MCP ImageContent 支持 添加了对 MCP `ImageContent` 类型的支持,允许直接在 MCP 客户端中显示图片。 #### 新增 `image` 响应格式 在所有图片生成工具中添加了新的 `response_format` 选项: - `url`: 返回图片 URL(原有功能) - `b64_json`: 返回 base64 编码(原有功能) - **`image`: 返回 MCP ImageContent,直接显示图片(新功能,默认)** #### 创建通用辅助函数 新建文件 `seedream_mcp/tools/image_helpers.py`,包含: - `create_image_content_response()`: 创建包含图片的 MCP 响应,**自动显示本地保存路径** - `download_image_as_base64()`: 下载图片并转换为 base64 #### 更新工具文件 已更新的工具: - ✅ `text_to_image.py` - 文生图 - ✅ `image_to_image.py` - 图生图 待更新的工具(可选): - ⏳ `multi_image_fusion.py` - 多图融合 - ⏳ `sequential_generation.py` - 组图生成 ### 2. 显示本地保存路径 修改 `image_helpers.py`,在返回的文本中自动包含本地保存路径: ``` ✅ 图片生成成功! 提示词: 小猫 尺寸: 2K 💾 本地保存: /Users/joe/Dropbox/code/Seedream_MCP/seedream_images/2025-11-18/text_to_image/小猫_20251118_095341.jpeg ``` ### 3. 优化提示词说明 更新工具描述,明确说明支持简单和复杂提示词: - **简单提示词**: "小猫"、"生成个小猫"、"画一只狗" - **复杂提示词**: "一只可爱的橘色小猫咪,坐在窗台上,阳光洒在身上,卡通风格,高清画质" 两种方式都完全支持! ## 使用方法 ### 方式 1: 使用新的 image 格式(推荐) ```json { "prompt": "一只可爱的小猫咪", "size": "2K", "watermark": false, "response_format": "image" } ``` **返回结果**: - 文本说明 (TextContent) - 图片内容 (ImageContent) - 可以直接在 MCP 客户端中显示 ### 方式 2: 使用 URL 格式(原有功能) ```json { "prompt": "一只可爱的小猫咪", "size": "2K", "watermark": false, "response_format": "url" } ``` **返回结果**: - 纯文本,包含图片 URL ### 方式 3: 使用 base64 格式(原有功能) ```json { "prompt": "一只可爱的小猫咪", "size": "2K", "watermark": false, "response_format": "b64_json" } ``` **返回结果**: - 纯文本,包含 base64 编码的图片数据 ## 测试结果 所有测试均通过: - ✅ API 调用正常 - ✅ image 格式返回 ImageContent - ✅ url 格式返回文本(兼容性保持) - ✅ 图片下载和转换成功 ## 优势 1. **直接显示图片**: 在支持 ImageContent 的 MCP 客户端中可以直接预览图片 2. **向后兼容**: 保留了原有的 url 和 b64_json 格式 3. **默认最佳体验**: 新的 image 格式设为默认值 4. **代码复用**: 通过辅助函数避免代码重复 ## 注意事项 1. **网络依赖**: image 格式需要下载图片,可能增加响应时间 2. **数据量**: base64 编码的图片数据较大,可能影响传输 3. **客户端支持**: 需要 MCP 客户端支持 ImageContent 类型 ## 下一步建议 1. 更新其他工具文件(`multi_image_fusion.py`, `sequential_generation.py`) 2. 更新文档,说明新的 image 格式 3. 在实际 MCP 客户端中测试图片显示效果 4. 考虑添加图片缓存机制,避免重复下载 ## 文件清单 ### 新增文件 - `seedream_mcp/tools/image_helpers.py` - 图片处理辅助函数 ### 修改文件 - `seedream_mcp/tools/text_to_image.py` - 添加 image 格式支持 - `seedream_mcp/tools/image_to_image.py` - 添加 image 格式支持 ### 测试文件 - `test_quick.py` - 基础 API 测试 - `test_mcp_tool.py` - MCP 工具测试 - `test_image_content.py` - ImageContent 测试 - `test_new_image_format.py` - 新格式测试

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joeseesun/Seedream_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server