hh-mcp-comfyui
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hh-mcp-comfyuigenerate an image of a cat in a garden"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ComfyUI MCP 服务
这是一个基于Model Context Protocol (MCP)的ComfyUI图像生成服务,通过API调用本地ComfyUI实例生成图片。
功能特性
通过MCP协议提供图像生成服务,实现自然语言生图自由
支持动态替换工作流中的提示词和尺寸等参数
自动加载workflows目录下的工作流文件作为资源
Related MCP server: comfyui-mcp-server
新增功能记录
[2025-06-29] 支持kontext图片编辑工作流

[2025-05-11] 支持工作流文件目录动态配置
[2025-05-09] 增加docker构建方式,支持Python 3.12+
[2025-05-07] 增加pip构建方式
[2025-05-06] 把项目目录src/hh修改成src/hh_mcp_comfyui,增加uvx构建方式
[2025-04-26] 增加图生图和移除背景样例工作流及支持图生图工具
[2025-04-20] 加入文生图生成工具
效果
Cherry Studio中使用效果

Cline中使用效果

安装依赖
1. 确保已安装Python 3.12+
2. 使用uv管理Python环境:
安装uv:
# On macOS and Linux. $ curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. $ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # 更新uv(非必要操作): $ uv self update
测试运行服务
uvx方式
$ uvx hh-mcp-comfyui INFO:hh_mcp_comfyui.server:Scanning for workflows in: C:\Users\tianw\AppData\Local\uv\cache\archive-v0\dp4MTo0f1qL0DdYF_BYCL\Lib\site-packages\hh_mcp_comfyui\workflows INFO:hh_mcp_comfyui.server:Starting ComfyUI MCP Server...pip方式
$ pip install hh_mcp_comfyui $ python -m hh_mcp_comfyui INFO:hh_mcp_comfyui.server:Scanning for workflows in: F:\Python\Python313\Lib\site-packages\hh_mcp_comfyui\workflows INFO:hh_mcp_comfyui.server:Starting ComfyUI MCP Server...
出现上面的信息表示服务启动成功
使用方法
必须确保本地ComfyUI实例正在运行(默认地址: http://127.0.0.1:8188) ComfyUI安装地址
Cherry Studio、Cline、Cursor等客户端的使用方式
{
"mcpServers": {
"hh-mcp-comfyui": {
"command": "uvx",
"args": [
"hh-mcp-comfyui@latest"
],
"env": {
"COMFYUI_API_BASE": "http://127.0.0.1:8188",
"COMFYUI_WORKFLOWS_DIR": "/path/hh-mcp-comfyui/workflows"
}
}
}
}需要先执行命令窗口先执行:pip install hh_mcp_comfyui
{
"mcpServers": {
"hh-mcp-comfyui": {
"command": "python",
"args": [
"-m",
"hh_mcp_comfyui"
],
"env": {
"COMFYUI_API_BASE": "http://127.0.0.1:8188",
"COMFYUI_WORKFLOWS_DIR": "/path/hh-mcp-comfyui/workflows"
}
}
}
}前提是已安装docker
{
"mcpServers": {
"hh-mcp-comfyui": {
"command": "docker",
"args": [
"run",
"--net=host",
"-v",
"/path/hh-mcp-comfyui/workflows:/app/workflows",
"-i",
"--rm",
"zjf2671/hh-mcp-comfyui:latest"
],
"env": {
"COMFYUI_API_BASE": "http://127.0.0.1:8188"
}
}
}
}样例工作流copy到指定工作流目录:
(注意:使用下面uvx或pip方式找到你的安装工作流目录的位置把样例工作流添加进去,然后重启你的MCP服务)
uvx
$ uvx hh-mcp-comfyui
pip
#首先安装依赖 $ pip install hh_mcp_comfyui $ python -m hh_mcp_comfyui
测试
使用MCP Inspector测试服务端工具
uvx方式
$ npx @modelcontextprotocol/inspector uvx hh-mcp-comfyuipip方式
$ pip install hh_mcp_comfyui $ npx @modelcontextprotocol/inspector python -m hh_mcp_comfyuidocker方式
$ npx @modelcontextprotocol/inspector docker run --net=host -i --rm zjf2671/hh-mcp-comfyui
然后点击连接如图即可调试:

使用注意事项(针对没有用过comfyui的特别注意)
默认工作流为
t2image_bizyair_flux图片尺寸默认为1024x1024
服务启动时会自动加载workflows目录下的所有JSON工作流文件
如果你使用的是本项目中的样例工作流需要在comfyui中下载个插件,详细操作请查看:样例工作流插件安装教程
如果使用你本地的comfyui工作流的话,先要保证你的工作流能在comfyui正常运行,然后需要导出(API)的JSON格式,并放入到你本地的
/path/hh_mcp_comfyui/workflows目录中
添加新工作流
将工作流JSON文件放入
/path/hh_mcp_comfyui/workflows目录中如果是uvx和pip启动方式请看上面 《样例工作流copy到指定工作流目录》 的使用方式
重启服务自动加载新工作流
开发
项目结构
.
├── .gitignore
├── .python-version
├── pyproject.toml
├── README.md
├── uv.lock
├── example/ # 示例工作流目录
│ └── workflows/
│ ├── i2image_bizyair_sdxl.json
│ ├── t2image_bizyair_flux.json
│ ├── i2image_cogview4.json
│ └── t2image_sd1.5.json
├── src/ # 源代码目录
│ └── hh_mcp_comfyui/
│ ├── comfyui_client.py # ComfyUI客户端实现
│ ├── server.py # MCP服务主文件
│ └── workflows/ # 工作流文件目录初始化项目开发环境:
# Clone the repository.
$ git clone https://github.com/zjf2671/hh-mcp-comfyui.git
$ cd hh-mcp-comfyui
# Initialized venv
$ uv venv
# Activate the virtual environment.
$ .venv\Scripts\activate
# Install dependencies.
$ uv lock
Resolved 30 packages in 1ms
# sync dependencies.
$ uv sync
Resolved 30 packages in 2.54s
Audited 29 package in 0.02ms检查服务是否正常
$ uv --directory 你本地安装目录/hh-mcp-comfyui run hh-mcp-comfyui
INFO:__main__:Scanning for workflows in: D:\cygitproject\hh-mcp-comfyui\src\hh_mcp_comfyui\workflows
INFO:__main__:Registered resource: workflow://t2image_bizyair_flux -> t2image_bizyair_flux.json
INFO:__main__:Starting ComfyUI MCP Server...使用MCP Inspector测试服务端工具
$ npx @modelcontextprotocol/inspector uv --directory 你本地安装目录/hh-mcp-comfyui run hh-mcp-comfyuiMCP配置
{
"mcpServers": {
"hh-mcp-comfyui": {
"command": "uv",
"args": [
"--directory",
"项目绝对路径(例如:D:/hh-mcp-comfyui)",
"run",
"hh-mcp-comfyui"
],
"env": {
"COMFYUI_API_BASE": "http://127.0.0.1:8188",
"COMFYUI_WORKFLOWS_DIR": "/path/hh-mcp-comfyui/workflows"
}
}
}
}贡献
Fork项目
创建特性分支 (
git checkout -b feature/AmazingFeature)提交更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)打开Pull Request
如有问题可以到公众号中联系我:

Available Tools
2 toolsgenerate_image_from_imageA
Generates an image using ComfyUI based on an input image (URL, local path, or bytes), prompt, and optional parameters.
Args:
prompt: The positive text prompt (It must be in English).
workflow_name: The name of the I2I workflow file (without .json) to use (default: 'I2Image_bizyair_flux').
image_path_or_url: The URL or local file path or image data as bytes of the input image.
denoise: Denoising strength (0.0 to 1.0). Controls how much the original image influences the result. to use (default: '1.0')
seed: Optional random seed for reproducibility.
Returns:
A URL to view the generated image or an error message.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| workflow_name | Yes | ||
| image_path_or_url | Yes | URL, local path, or image data as bytes. | |
| denoise | No | ||
| seed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits like whether the tool is destructive, requires authentication, or handles errors. It only mentions returns a URL or error message, lacking deeper transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an Args section, but could be more concise. Every sentence conveys necessary information, though the inclusion of default values could be streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, 3 required, no output schema, and no annotations, the description covers the parameters and return value adequately. However, it lacks details on error handling, constraints, or execution behavior, making it slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 20% schema description coverage, the description compensates by explaining parameter details: prompt must be in English, workflow_name default and file extension, denoise range and effect, and seed optional. This adds value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates an image using ComfyUI based on an input image, prompt, and optional parameters. This distinguishes it from the sibling tool 'generate_image_from_text' which presumably uses a text-only input.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage when an input image is available, but does not explicitly state when to use it vs. the sibling tool or any conditions/alternatives. No guidance on when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_image_from_textA
Generates an image using ComfyUI based on the provided prompt and optional parameters.
Args:
prompt: The positive text prompt (It must be in English).
workflow_name: The name of the workflow file (without .json) from the 'workflows' directory to use.
If None, uses the default workflow ('t2image_bizyair_flux').
width: The desired width of the image (default: 1024).
height: The desired height of the image (default: 1024).
Returns:
A URL to view the generated image.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| workflow_name | Yes | ||
| width | No | ||
| height | No | ||
| seed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions the prompt must be in English, defaults for dimensions, and returns a URL. However, it does not disclose side effects, authentication needs, rate limits, or what happens on failure. It is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one paragraph with clear Args and Returns sections. It is concise but could be slightly more streamlined. No unnecessary information, and the structure helps parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 0% schema coverage, the description is moderately complete. It covers most parameters and the return value, but lacks usage guidance and deeper behavioral context. Additional details on seed and error handling would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains prompt, workflow_name, width, and height, but fails to describe the 'seed' parameter, which is present in the schema but absent from the description. This omission reduces clarity for that parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates an image from a text prompt using ComfyUI. The verb 'Generates' and resource 'image' are specific, and the sibling tool 'generate_image_from_image' implies this is for text-to-image, distinguishing it effectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus the sibling. The description lists parameters but does not provide context for selection, such as specifying that this is for text-to-image while the sibling is for image-to-image. Usage is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
generate_image_from_image - First observed
generate_image_from_text
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one takes an input image for image-to-image generation, the other takes a text prompt for text-to-image generation. An agent can easily select the appropriate tool based on whether they have a reference image.
Both tool names follow a consistent 'generate_image_from_<source>' pattern (image vs text). The naming is uniform and predictable, making it easy for an agent to infer the function.
With only 2 tools, the server is very focused but slightly sparse for a general ComfyUI interface. It covers the two fundamental generation modes, which is reasonable for a minimal setup, though a few more tools (e.g., upscale or inpaint) would be expected.
The server covers the two core ComfyUI workflows (text-to-image and image-to-image), but lacks common operations like upscaling, inpainting, or workflow management. There are notable gaps that agents cannot work around.
Maintenance
Related MCP Connectors
Remote MCP for RunComfy: ComfyUI deployments, hosted models, LoRA training. 31 tools.
Build and run visual creative-production workflows from your AI agent.
Create images and videos from prompts, with options for image mixing, reference images, and start/…
Generate reproducible image, video, and audio assets with leading models and your own provider keys.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables high-quality image generation using Zhipu AI's CogView models through the Model Context Protocol. Users can generate, download, and manage images with customizable sizes and quality settings.1-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to generate images using ComfyUI by exposing tools for image generation, batch processing, and status checking through the Model Context Protocol.MIT
- MIT
- AlicenseNot gradedqualityDmaintenanceEnables discovery of ComfyUI nodes and building/managing workflows with real-time execution via WebSocket. Provides 50+ tools for node discovery, workflow building, template usage, model management, and batch/chain execution.1713MIT