AI图像生成服务器

一个为Unity提供可靠AI图像生成的模型上下文协议(MCP)服务器,支持队列检测、多下载回退方法和生产级错误处理。

  • by BiodigitalJaz
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 BiodigitalJaz/comfyui-mcp

使用说明

ComfyUI MCP服务器-生产

一个强大的模型上下文协议(MCP)服务器,通过ComfyUI为Unity提供可靠的AI图像生成。

特性

🎨 可靠的图像生成

  • 基于队列的完成检测(无超时)
  • 多种下载回退方法
  • 生产级错误处理

🌸 专业工作流程

  • 具有可定制参数的通用图像生成
  • 为Unity优化的花朵纹理生成
  • 支持无缝可平铺纹理

🔧 生产就绪

  • 全面的日志记录和监控
  • 使用环境变量进行配置管理
  • 强大的错误处理和恢复
  • 性能统计和健康监测

🎮 Unity集成

  • 自动Unity资产文件夹管理
  • PNG纹理优化
  • 材料就绪输出格式

快速开始

先决条件

  1. 舒适UI 运行于 http://127.0.0.1:8188
  2. Python 3.8+ 带有所需的包裹
  3. Unity项目 具有资产文件夹结构

安装

  1. 安装依赖项:

    pip install mcp requests
    
  2. 配置MCP客户端以使用此服务器:

    {
      "mcpServers": {
        "comfy": {
          "command": "python",
          "args": ["path/to/comfyui-mcp/server.py"],
          "cwd": "path/to/comfyui-mcp"
        }
      }
    }
    
  3. 通过Unity/Coplay开始使用!

用法

生成通用图像

# Through MCP client
result = await mcp_client.call_tool("generate_image", {
    "client_id": "unity-client",
    "prompt": "beautiful landscape, sunset, high quality",
    "width": 1024,
    "height": 1024,
    "steps": 25,
    "cfg": 7.5
})

生成花朵纹理

# Through MCP client
result = await mcp_client.call_tool("generate_flower_texture", {
    "client_id": "unity-client", 
    "flower_type": "rose",
    "seamless": True,
    "detail_level": "high"
})

检查服务器状态

# Get server health and statistics
status = await mcp_client.call_tool("get_server_status", {
    "client_id": "unity-client"
})

配置

环境变量

变量 默认值 描述
COMFYUI_HOST 127.0.0.1 ComfyUI服务器主机
COMFYUI_PORT 8188 ComfyUI服务器端口
UNITY_TEXTURE_PATH Assets/Textures/Generated Unity纹理输出路径
UNITY_MATERIAL_PATH Assets/Materials 统一材料路径
GENERATION_TIMEOUT 180 生成的最大等待时间(秒)
REQUEST_TIMEOUT 30 HTTP请求超时(秒)
QUEUE_CHECK_INTERVAL 3 队列轮询间隔(秒)
DEFAULT_WIDTH 512 默认图像宽度
DEFAULT_HEIGHT 512 默认图像高度
DEFAULT_STEPS 25 默认采样步骤
DEFAULT_CFG 7.5 默认CFG比例
DEFAULT_MODEL v1-5-pruned-emaonly.ckpt 默认的ComfyUI模型
LOG_LEVEL INFO 日志记录级别(调试、信息、警告、错误)
COMFYUI_MCP_MODE production 模式(生产、开发)

配置示例

# Production settings
export COMFYUI_HOST="192.168.1.100"
export COMFYUI_PORT="8188"
export GENERATION_TIMEOUT="300"
export LOG_LEVEL="INFO"

# Development settings  
export COMFYUI_MCP_MODE="development"
export LOG_LEVEL="DEBUG"
export GENERATION_TIMEOUT="60"

建筑

核心组件

  1. ComfyUI客户端 -处理所有ComfyUI通信
  2. 工作流生成器 -为不同用例创建ComfyUI工作流
  3. 文件管理器 -管理Unity资产文件操作
  4. 图像生成服务 -高级生成编排
  5. MCP服务器 -处理模型上下文协议通信

基于队列的完成检测

服务器使用ComfyUI的队列API可靠地检测完成:

  1. 将工作流提交到ComfyUI队列
  2. 监视队列状态(待定→ 跑步→ 已完成)
  3. 当提示从队列中消失时,从历史记录中获取结果
  4. 下载并保存生成的图像

这种方法消除了超时问题,并提供了可靠的完成检测。

多次下载回退

使用多种回退方法下载图像:

  1. 标准方法: /view?filename=X&subfolder=Y&type=Z
  2. 直接法: /view?filename=X
  3. 仅键入方法: /view?filename=X&type=output

这确保了与不同ComfyUI配置的兼容性。

监控与调试

生产日志

服务器提供全面的日志记录:

2025-01-24 14:21:35,123 - comfyui-mcp - INFO - Queued prompt abc123: beautiful landscape...
2025-01-24 14:21:45,456 - comfyui-mcp - INFO - Prompt abc123 completed
2025-01-24 14:21:46,789 - comfyui-mcp - INFO - Saved image: Assets/Textures/Generated/generated_1024x1024_2025-01-24_14-21-46.png (1234567 bytes)

服务器统计信息

服务器跟踪性能指标:

  • 已处理的请求总数
  • 成功与失败的世代
  • 服务器正常运行时间
  • ComfyUI连接状态

通过以下方式访问 get_server_status 工具。

错误处理

服务器提供详细的错误信息:

  • ComfyUI连接问题
  • 工作流提交失败
  • 图像下载问题
  • 文件系统错误

所有错误都包括上下文和建议的解决方案。

性能提示

ComfyUI优化

  1. 使用合适的模型 -较轻的型号生成速度更快
  2. 优化步骤 -更少的步骤=更快的生成
  3. 批量处理 -排队处理多个请求
  4. 模型缓存 -在ComfyUI中保持模型加载

Unity集成

  1. 纹理压缩 -在Unity中启用适当的压缩
  2. Mipmaps -启用无缝纹理
  3. 纹理流 -适用于大纹理
  4. 资产数据库刷新 -自动发生

故障排除

常见问题

“ComfyUI未运行”

  • 检查ComfyUI是否已启动,并可在配置的URL访问
  • 验证防火墙/网络设置
  • 检查ComfyUI控制台是否有错误

“生成超时”

  • 增加 GENERATION_TIMEOUT 环境变量
  • 检查ComfyUI队列中是否有卡住的作业
  • 验证模型是否已加载到ComfyUI中

“在输出中找不到图像”

  • 检查ComfyUI工作流兼容性
  • 验证模型是否存在并已加载
  • 检查ComfyUI控制台是否存在工作流错误

“无法保存到Unity文件夹”

  • 检查Unity项目是否打开
  • 验证对Assets文件夹的写入权限
  • 检查磁盘空间可用性

调试模式

启用调试日志记录:

export COMFYUI_MCP_MODE="development"
export LOG_LEVEL="DEBUG"

这提供了以下详细信息:

  • 队列监视
  • 图像下载尝试
  • 文件 操作
  • 错误详细信息

版本历史记录

  • v1.0.0 -基于队列检测的生产发布
  • v0.9.x -具有超时修复的开发版本
  • v0.8.x -MCP服务器的初始实施

社区与协作

加入我们的Discord社区,进行协作、获得帮助并分享您的项目:

在我们的Discord服务器中,您可以:

  • 获取ComfyUI MCP集成的帮助
  • 分享您生成的图像和工作流程
  • 合作开发新功能和改进
  • 与其他Unity AI开发人员联系
  • 随时了解最新进展

支持

对于问题和疑问:

  1. 检查上面的故障排除部分
  2. 启用调试日志记录以获取详细信息
  3. 检查ComfyUI服务器日志
  4. 验证Unity项目设置
  5. 加入我们 不和谐社区 实时帮助

许可证

此ComfyUI MCP服务器是Coplay AI开发工具包的一部分。