使用说明
康富友mcp
一个模型上下文协议(MCP)服务器,它公开 Comfy用户界面 工作流作为可调用的MCP工具。使用 FastMCP 和 comfyui实用程序.
安装
此包的内容需要Python 3.11或更高版本。
pip install comfyui-mcp
快速开始
mcpo --port 8000 --api-key "AwesomeKey" -- python3 -m comfyui_mcp.server
参数
ComfyUI连接(--comfyui.*)
--comfyui.host(默认值:127.0.0.1:8188)-ComfyUI主机和端口--comfyui.request_timeout(默认值:5)-ComfyUI API请求的超时时间(以秒为单位)--comfyui.use_remote_workflow(默认值:True)-从ComfyUI API中提取工作流(True)或从本地目录加载(False)--comfyui.workflow_directory(默认值:workflows)-工作流JSON文件的本地目录路径
输出格式(--generate.*)
--generate.audio_url_template-音频输出URL模板(变量:{index},{url})--generate.image_url_template-图像输出URL模板(变量:{index},{url})--generate.unknown_url_template-未知输出类型的模板(变量:{index},{url})--generate.nothing_generated_message-工作流执行但不产生输出时的消息--generate.reply_include_workflow(默认值:True)-在响应中包含已执行的工作流参数--generate.reply_workflow_format_indent(默认值:2)-用于工作流输出的JSON缩进--generate.reply_workflow_format_sort_keys(默认值:True)-对工作流输出中的JSON键进行排序--generate.reply_workflow_template-工作流参数部分模板(变量:{workflow_params})--generate.result_generated_message_template-总体消息模板(变量:{image_list})
架构概述
src/comfyui_mcp/
- __about__.py:版本和许可证元数据
- argument_parser.py:使用pydantic的CLI参数定义
- base_types.py:共享类型别名
- function_utils.py:动态函数包装生成
- workflow_loader.py:从磁盘或ComfyUI API加载工作流
- workflow_utils.py:工作流准备和调用
- server.py:FastMCP服务器入口点
运作原理
-
工作流程准备:
- 对于本地工作流:以API格式导出ComfyUI工作流(使用ComfyUI菜单中的“保存(API格式)”)。将JSON文件放置在配置的工作流目录中。
- 用于远程工作流:在ComfyUI中构建并保存工作流,然后启动或重新启动MCP服务器。服务器将自动从ComfyUI实例中获取和注册可用工作流。
-
工具注册:服务器解析工作流程JSON,并通过扫描以下内容自动检测参数:
- 原始节点 (
PrimitiveFloat,PrimitiveInt,PrimitiveString等)-提取为类型化参数 - LoadImageOutput节点 -作为图像输入参数曝光
- 节点标题(来自
_meta.title)成为MCP工具中的参数名称
- 原始节点 (
-
工作流执行:当调用工具时:
- 用户提供的参数被映射回其相应的基元节点
- 工作流程被深度复制,参数值被注入
inputs.value领域 - 准备好的工作流程提交给ComfyUI的API
- 投票结果将一直持续到完成
- 生成的输出作为可访问的URL返回(格式可由用户配置)
-
批处理:支持
submit_batch用于生成多种变体的参数:- 自动随机化每一代种子
- 按顺序执行工作流
- 收集并返回所有结果
发展
pip setup -hatch
hatch test
hatch build
hatch run release
贡献
- 在GitHub上分叉仓库。
- 进行更改、添加测试和构建
- 跑
hatch test确保所有通行证 - 提交PR
