Token导航 LogoToken导航

MCP Server · 设计创作

Comfyui MCP (comfyui-mcp)

为ComfyUI提供全面的工作流自动化、管理和图像生成功能的服务器。

stdio官方级别未说明来源级核验工具 0
工作流自动化PythonClaude开发工具

快速开始

作者 / 组织
IO-AtelierTech
提供方
IO-AtelierTech
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

10

仓库热度

收录来源

2 个

MCP World

选型结论

Comfyui MCP (comfyui-mcp) 属于设计创作类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

设计创作

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uvx comfyui-easy-mcp

客户端配置示例

{
  "mcpServers": {
    "comfyui-mcp": {
      "command": "uvx",
      "args": [
        "comfyui-easy-mcp"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Comfy MCP服务器

MCP服务器,用于全面的ComfyUI工作流自动化、管理和图像生成。

概述

此服务器为Claude Code(和其他MCP客户端)提供对ComfyUI功能的完全访问权限:

  • 系统监控:检查服务器运行状况、队列状态和历史记录
  • 工作流执行:运行已保存的工作流或执行自定义工作流字典
  • 工作流管理:创建、修改、保存和验证工作流
  • 节点发现:列出可用节点、模型及其参数
  • 图像生成:简单的基于提示的生成或完整的工作流控制

主要特点

✅ 架构验证的工作流

所有生成的工作流都会根据 ComfyUI v0.4工作流模式,确保兼容性和正确执行。不再有无效的工作流错误。

🎨 美观的视觉布局

程序化生成的工作流 相干节点位置 具有适当的间距和对齐。内置的布局引擎可以生成无棱角、专业外观的工作流,这些工作流易于在ComfyUI编辑器中阅读和修改。

技术:使用基于图的布局算法(NetworkX)自动定位节点,从程序化工作流生成中消除了典型的意大利面条图。

先决条件

  • 紫外线 -Python包管理器
  • 正在运行ComfyUI服务器(本地或远程)
  • 从ComfyUI导出的工作流文件(API格式)

安装

通过PyPI(推荐)

# Run directly with uvx
uvx comfyui-easy-mcp

# Or install globally
uv pip install comfyui-easy-mcp

来自源头

git clone https://github.com/IO-AtelierTech/comfyui-mcp.git
cd comfyui-mcp
uv sync

配置

环境变量

变量必填默认描述
COMFY_URL没有http://localhost:8188安慰服务器URL
COMFY_URL_EXTERNAL否与COMFY_URL相同用于图像检索的外部URL
COMFY_WORKFLOWS_DIR没有-API格式工作流的目录(执行)
COMFY_WORKFLOWS_UI_DIR无-UI格式工作流目录(编辑器)
COMFY_WORKFLOW_JSON_FILE无-默认工作流文件 generate_image
PROMPT_NODE_ID无-默认提示节点ID generate_image
OUTPUT_NODE_ID否-默认输出节点ID
OUTPUT_MODE没有file输出模式: file (图片)或 url (字符串URL)
POLL_TIMEOUT没有60等待工作流的最长时间(1-300)
POLL_INTERVAL没有1.0状态轮询之间的秒数(0.1-10.0)

配置示例

export COMFY_URL=http://localhost:8188
export COMFY_WORKFLOWS_DIR=/path/to/workflows-api      # API format for execution
export COMFY_WORKFLOWS_UI_DIR=/path/to/workflows-ui    # UI format for editor
export COMFY_WORKFLOW_JSON_FILE=/path/to/workflows-api/default.json
export PROMPT_NODE_ID=6
export OUTPUT_NODE_ID=9
export OUTPUT_MODE=file

Claude桌面配置

{
  "mcpServers": {
    "ComfyUI": {
      "command": "uvx",
      "args": ["comfyui-easy-mcp"],
      "env": {
        "COMFY_URL": "http://localhost:8188",
        "COMFY_WORKFLOWS_DIR": "/path/to/workflows-api",
        "COMFY_WORKFLOWS_UI_DIR": "/path/to/workflows-ui",
        "COMFY_WORKFLOW_JSON_FILE": "/path/to/workflows-api/default.json",
        "PROMPT_NODE_ID": "6",
        "OUTPUT_NODE_ID": "9"
      }
    }
  }
}

或者使用预先配置的 .mcp.json 从 安慰的.

可用工具

系统工具

工具说明
get_system_stats()获取ComfyUI服务器运行状况:版本、内存、设备信息
get_queue_status()获取当前队列:正在运行和挂起的作业
get_history(limit=10)获取最近一代历史记录(1-100个条目)
cancel_current(prompt_id=None)中断电流生成
clear_queue(delete_ids=None)清除队列或删除特定项目

发现工具

工具说明
list_nodes(filter=None)列出可用的ComfyUI节点(可选筛选器)
get_node_info(node_name)获取详细的节点信息:输入、输出、参数
search_nodes(query)按名称、类型或类别搜索节点
list_models(folder="checkpoints")在文件夹中列出模型
list_model_folders()列出可用的模型文件夹类型
list_embeddings()列出可用嵌入
list_extensions()列出加载的扩展(自定义节点包)
refresh_nodes()从ComfyUI刷新缓存节点列表

工作流管理工具

工具说明
list_workflows()列出可用的工作流文件
load_workflow(workflow_name)从文件加载工作流
save_workflow(workflow, name, format="ui")保存工作流(格式:“api”或“ui”)
create_workflow()创建空工作流结构
add_node(workflow, node_id, class_type, inputs)向工作流添加节点
remove_node(workflow, node_id)从工作流中删除节点
update_node_input(workflow, node_id, input_name, value)更新节点的输入
validate_workflow(workflow)验证工作流结构和节点类型
convert_workflow_to_ui(workflow)将API格式转换为UI/Litegraph格式
list_templates()列出可用的工作流模板
get_workflow_template(template_name)获取预构建的工作流模板
generate_workflow_name(words=2)生成随机有趣的工作流名称

执行工具

工具说明
generate_image(prompt)使用默认工作流生成图像(简单界面)
run_workflow(workflow_name, inputs=None, output_node_id=None)执行已保存的工作流文件
execute_workflow(workflow, output_node_id)执行任意工作流字典
submit_workflow(workflow)无需等待即可提交工作流(返回prompt_id)
get_prompt_status(prompt_id)获取已提交提示的状态
get_result_image(prompt_id, output_node_id)从完成的提示中获取结果图像

工作流格式

ComfyUI使用两种工作流格式。理解差异至关重要:

格式结构用例目录
API{"node_id": {"class_type": "...", "inputs": {...}}}MCP执行、自动化workflows-api/
用户界面{"nodes": [...], "links": [...], "version": ...}仅限ComfyUI编辑器workflows-ui/

重要:

  • 仅 API格式 工作流可以通过MCP执行(run_workflow(), execute_workflow())
  • UI格式 工作流用于在ComfyUI web编辑器中加载/编辑
  • 如果您尝试执行UI格式工作流,MCP服务器将拒绝并返回错误

格式检测

服务器通过检查以下内容自动检测格式 "nodes" 或 "version" 按键(UI格式)vs "class_type" 密钥(API格式)。

创建、验证和保存工作流

推荐的工作流程

# 1. CREATE: Start with empty workflow or template
wf = create_workflow()
# Or use a template:
wf = get_workflow_template("fal-flux-dev")

# 2. BUILD: Add nodes with explicit connections
wf = add_node(wf, "1", "LoadImage", {"image": "input.jpg"})
wf = add_node(wf, "2", "LumaImageToVideoNode", {
    "prompt": "smooth camera motion",
    "model": "ray-2",
    "first_image": ["1", 0],  # Connect to node "1", output index 0
    "resolution": "1080p",
    "duration": "5s"
})
wf = add_node(wf, "3", "SaveVideo_fal", {
    "videos": ["2", 0],
    "filename_prefix": "output"
})

# 3. VALIDATE: Check structure and node types before saving
validation = validate_workflow(wf)
# Returns: {"valid": true/false, "errors": [...], "warnings": [...]}

# 4. SAVE: Choose format based on purpose
# For MCP execution (API format):
save_workflow(wf, "my-workflow", format="api")  # → workflows-api/my-workflow.json

# For ComfyUI editor (UI format):
save_workflow(wf, "my-workflow", format="ui")   # → workflows-ui/my-workflow.json

节点连接

连接使用以下格式 ["source_node_id", output_index]:

# Connect node "1" output slot 0 to this input
wf = add_node(wf, "2", "CLIPTextEncode", {
    "text": "my prompt",
    "clip": ["1", 0]  # ← Connection to node "1", first output
})

发现节点参数

在添加节点之前,请检查其所需的输入:

# Find available nodes
nodes = list_nodes(filter="Luma")  # → ["LumaImageToVideoNode", ...]

# Get node details
info = get_node_info("LumaImageToVideoNode")
# Returns:
# {
#   "input": {
#     "required": {
#       "prompt": ["STRING", {...}],
#       "model": [["ray-2", "ray-flash-2"], {...}],
#       "first_image": ["IMAGE"],
#       ...
#     },
#     "optional": {...}
#   },
#   "output": ["VIDEO"],
#   ...
# }

验证错误

常见验证问题:

错误原因修复
Unknown node type节点类不存在使用 list_nodes() 查找正确的名称
Missing required input未提供所需输入检查 get_node_info() 用于所需的输入
Invalid connection源节点/输出不存在验证节点ID和输出索引
UI format detected正在尝试执行UI格式使用API格式或从ComfyUI重新导出

使用示例

简单图像生成

# Using default workflow configuration
result = generate_image("a cyberpunk city at sunset")

运行命名工作流

# Execute saved workflow with custom inputs
result = run_workflow(
    "flux-dev.json",
    inputs={"6": {"text": "a forest landscape"}},
    output_node_id="9"
)

构建和执行自定义工作流

# 1. Create empty workflow
wf = create_workflow()

# 2. Add nodes
wf = add_node(wf, "1", "CheckpointLoaderSimple", {
    "ckpt_name": "flux-dev.safetensors"
})
wf = add_node(wf, "2", "CLIPTextEncode", {
    "text": "beautiful sunset over mountains",
    "clip": ["1", 1]  # Connect to checkpoint's CLIP output
})
wf = add_node(wf, "3", "KSampler", {
    "model": ["1", 0],
    "positive": ["2", 0],
    # ... other inputs
})

# 3. Validate before execution
validation = validate_workflow(wf)
if not validation.get("valid"):
    print(f"Errors: {validation.get('errors')}")

# 4. Execute
result = execute_workflow(wf, output_node_id="9")

异步工作流提交

# Submit without waiting
submission = submit_workflow(workflow)
prompt_id = submission["prompt_id"]

# Check status later
status = get_prompt_status(prompt_id)

# Get result when ready
if status["completed"]:
    image = get_result_image(prompt_id, "9")

发现可用节点

# List all fal.ai nodes
nodes = list_nodes(filter="fal")

# Get details about a specific node
info = get_node_info("RemoteCheckpointLoader_fal")

使用fal.ai连接器

这 ComfyUI假连接器 通过fal.ai启用云GPU推理。

# 1. Verify fal.ai extension is loaded
extensions = list_extensions()
# Should include "ComfyUI-fal-Connector"

# 2. List available fal.ai nodes
fal_nodes = list_nodes(filter="fal")
# Returns: ["RemoteCheckpointLoader_fal", "StringInput_fal", "SaveImage_fal", ...]

# 3. Get node details
info = get_node_info("RemoteCheckpointLoader_fal")
# Shows available checkpoints: flux-dev, flux-schnell, sd3.5-large, etc.

# 4. Build a fal.ai workflow
wf = create_workflow()
wf = add_node(wf, "1", "RemoteCheckpointLoader_fal", {
    "ckpt_name": "flux-dev"
})
wf = add_node(wf, "2", "StringInput_fal", {
    "text": "a futuristic city at sunset, cyberpunk style"
})
wf = add_node(wf, "3", "CLIPTextEncode", {
    "text": ["2", 0],
    "clip": ["1", 1]
})
# ... add sampler, VAE decode, save image nodes

# 5. Execute on fal.ai cloud GPUs
result = execute_workflow(wf, output_node_id="9")

环境设置:

export FAL_KEY=your-fal-api-key

建筑

comfy_mcp_server/
├── __init__.py      # Entry point, FastMCP server
├── api.py           # HTTP helpers, ComfyUI API functions
├── models.py        # Pydantic models for type safety
├── settings.py      # Configuration with pydantic-settings
├── compat.py        # Version compatibility layer
└── tools/           # MCP tool implementations
    ├── system.py    # System monitoring tools
    ├── discovery.py # Node/model discovery
    ├── workflow.py  # Workflow management
    └── execution.py # Workflow execution

发展

# Install dev dependencies
uv sync --all-extras

# Run linting
uv run ruff check src/

# Run tests (requires running ComfyUI)
uv run pytest tests/

# Format code
uv run ruff format src/

ComfyUI API覆盖范围

目标: ComfyUI 0.3.x - 0.4.x 版本

API端点方法描述状态
/promptPOST提交工作流以供执行✅ 已执行
/queueGET查看正在运行/挂起的作业✅ 已执行
/queuePOST清除队列/删除项目✅ 已执行
/historyGET查看生成历史记录✅ 已执行
/history/{id}GET获取具体作业结果✅ 已执行
/historyPOST删除历史记录条目⚠️ 部分
/interruptPOST停止当前一代✅ 已执行
/object_infoGET列出所有可用节点✅ 已执行
/object_info/{node}GET获取节点参数/输入✅ 已执行
/modelsGET列出模型文件夹✅ 已执行
/models/{folder}GET列出文件夹中的模型✅ 已执行
/system_statsGET服务器运行状况/资源✅ 已执行
/viewGET检索生成的图像✅ 已执行
/embeddingsGET列出可用嵌入✅ 已执行
/extensionsGET列出已加载的扩展名✅ 已执行
/upload/imagePOST上传工作流图像❌ 未实施
/upload/maskPOST上传修复掩码❌ 未实施
/freePOST可用VRAM/内存❌ 未实施
/api/userdata/*\*用户数据管理❌ 未实施

实现说明

  • 部分的:历史删除未完全作为工具公开
  • 未实现:图像/掩码上传、内存管理和用户数据API计划在未来发布

兼容性

  • MCP服务器版本: 0.2.0
  • 最小ComfyUI: 0.3.0
  • 最大测试ComfyUI:0.4.x
  • python: 3.10+

该服务器包含一个兼容层,用于处理ComfyUI版本之间的API差异,并提供优雅的降级。

许可证

MIT许可证-请参阅 许可证 文件。

学分

最初分叉自 @拉兰尼卡里姆/康菲尤伊mcp.

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

工作流自动化Python本地部署图像生成节点管理AI模型集成开发工具

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

出图与改图

按描述生成或修改图像,快速迭代风格。

读取设计稿

读取画布和图层信息,按规范生成页面。

素材整理

批量生成缩略图、统一命名和标签。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在设计创作场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Comfyui MCP (comfyui-mcp)

MCP World · 本页

0stdio有2 个2026-05-17
Blender MCP

MCP.so

17stdio有3 个2026-05-17
Figma Context MCP 3aaa8d28

MCP World

0未说明未标注2 个2026-05-17
Nova Canvas MCP Server

MCP World

2stdio有1 个2026-05-17
Cursor Talk To Figma MCP Da1c7911

MCP World

40未说明未标注1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Comfyui MCP (comfyui-mcp) 怎么安装?

公开资料给出的安装命令是 uvx comfyui-easy-mcp,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Comfyui MCP (comfyui-mcp) 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Comfyui MCP (comfyui-mcp) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Comfyui MCP (comfyui-mcp) 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Comfyui MCP (comfyui-mcp) 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP