内容
<p align="center">
<h1 align="center">舒适UI MCP中心</h1>
<p align="center">
<strong>给予AI代理对本地舒适UI的完全控制。</strong>
</p>
<p align="center">
<a href="#快速开始">快速开始</a> •
<a href="#支持的AI客户端">支持的客户端</a> •
<a href="#所有77种工具">所有77种工具</a> •
<a href="#架构">架构</a> •
<a href="#配置">配置</a>
</p>
<p align="center">
<img src="https://img.shields.io/badge/version-0.7.0-blueviolet" alt="版本 0.3.0">
<img src="https://img.shields.io/badge/tools-79-blue" alt="74 MCP工具">
<img src="https://img.shields.io/badge/python-3.10+-green" alt="Python 3.10+">
<img src="https://img.shields.io/badge/protocol-MCP-orange" alt="模型上下文协议">
<img src="https://img.shields.io/badge/license-AGPL--3.0-blue" alt="AGPL-3.0 许可证">
</p>
</p>
---
MCP中心是一个[模型上下文协议](https://modelcontextprotocol.io/)服务器,包装为舒适UI的自定义节点。它公开了**79种工具**,让任何MCP兼容的AI助手——Claude、Gemini、Codex、Cursor等——都可以与您的本地舒适UI实例交互:检查工作流、生成图像、管理模型、安装软件包和实时操纵画布。
**一次安装。零云依赖。完全本地。**
---
## 亮点
- **画布控制** — AI代理可以直接读取图表、添加/删除/连接节点、更新参数、捕获截图、执行工作流和排列布局(移动、对其、折叠、调整大小、适应视图)。
- **CivitAI和HuggingFace集成** — 搜索模型、下载并跟踪进度、内容安全过滤、基于哈希的精确匹配。
- **智能解析器** — 提交任何工作流:MCP中心自动检测缺失的节点、缺失的模型和损坏的Python依赖,然后修复它们。
- **多实例** — 在您的局域网中注册舒适UI实例,并将任何命令路由到任何机器。
- **活动跟踪** — 实时记录每个代理操作、下载进度条和舒适UI UI中的toast通知。
- **一键客户端设置** — 自动检测10个AI客户端并为您编写MCP配置。
---
## 快速开始
### 1. 安装
**选项A — 舒适UI管理器(推荐)**
在舒适UI管理器的自定义节点浏览器中搜索 **"MCP中心"**,然后点击安装。
**选项B — Git克隆**
```bash
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/ArboRithmDev/comfyui-arbo-mcp-hub.git
```
**选项C — 下载ZIP**
下载 [最新版本](https://github.com/ArboRithmDev/comfyui-arbo-mcp-hub/releases),解压到 `ComfyUI/custom_nodes/comfyui-arbo-mcp-hub/`。
---
重启舒适UI。MCP中心将在首次加载时自动:
- 安装其Python依赖项 (`mcp`, `aiohttp`, `websockets`)
- 安装 [舒适UI管理器](https://github.com/ltdrdata/ComfyUI-Manager)(如果不存在)
- 在舒适UI桌面版中注册一个侧边栏面板
### 2. 配置您的AI客户端
打开舒适UI侧边栏中的 **MCP中心**面板 → **AI客户端** 标签 → **配置所有**
就这样。您的AI客户端已经准备好与舒适UI通信。
<details>
<summary>手动配置</summary>
将以下内容添加到您的MCP客户端配置文件中:
```json
{
"mcpServers": {
"comfyui-arbo-mcp-hub": {
"command": "/path/to/ComfyUI/.venv/bin/python",
"args": ["/path/to/ComfyUI/custom_nodes/comfyui-arbo-mcp-hub/mcp_server/main.py"]
}
}
}
```
对于基于TOML的客户端(Codex,Mistral Vibe):
```toml
[mcp_servers.comfyui-arbo-mcp-hub]
command = "/path/to/ComfyUI/.venv/bin/python"
args = ["/path/to/ComfyUI/custom_nodes/comfyui-arbo-mcp-hub/mcp_server/main.py"]
```
</details>
### 3. 开始使用
询问您的AI助手:
```
" 我有哪些已安装的模型? "
" 在CivitAI上搜索一个逼真的SDXL LoRA"
" 查看我的当前工作流并描述它"
" 在检查点加载器后添加一个KSampler节点"
" 生成一个日落时分的山景图像"
" 我的上一次执行为什么失败了? "
```
---
## 支持的AI客户端
MCP中心自动检测已安装的客户端并编写正确的配置文件(JSON或TOML):
| 客户端 | 格式 | 配置路径 |
|--------|:------:|-------------|
| **Claude Code** (CLI) | JSON | `~/.claude.json` |
| **Claude Desktop** | JSON | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| **Gemini CLI** | JSON | `~/.gemini/settings.json` |
| **Codex CLI** (OpenAI) | TOML | `~/.codex/config.toml` |
| **Mistral Vibe** | TOML | `~/.vibe/config.toml` |
| **Cursor** | JSON | `~/.cursor/mcp.json` |
| **Windsurf** | JSON | `~/.codeium/windsurf/mcp_config.json` |
| **Continue.dev** | JSON | `~/.continue/config.json` |
| **VS Code** | JSON | 平台特定的 `settings.json` |
| **Ollama** | — | 检测到,无原生MCP支持(显示信息) |
> 显示的路径是macOS的路径。Linux和Windows等效路径会自动处理。
---
## 控制面板
MCP中心为舒适UI桌面版添加了一个侧边栏面板:
| 标签 | 描述 |
|-----|-------------|
| **服务器** | 启动/停止MCP服务器,切换与舒适UI的自动启动 |
| **活动** | 实时记录代理操作、下载进度条和速度指示器 |
| **工具** | 按域启用/禁用工具类别 |
| **AI客户端** | 检测到的客户端及其安装状态,一键配置 |
| **实例** | 管理局域网上的舒适UI实例 |
| **设置** | API令牌(CivitAI,HuggingFace),内容安全过滤级别,自动解析切换 |
---
## 所有77种工具
<details>
<summary><strong>自省</strong> — 5种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `list_nodes` | 列出所有可用的节点,按类别或搜索词筛选 |
| `get_node_info` | 获取特定节点的详细输入、输出和默认值 |
| `list_models` | 列出模型类型 — 任意目录,包括自定义目录,如 `ultralytics/bbox` |
| `list_model_types` | 发现所有模型目录并计算文件数量 |
| `get_system_stats` | GPU、VRAM、队列深度、运行时间 |
</details>
<details>
<summary><strong>工作流</strong> — 7种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `list_workflows` | 列出保存的工作流文件 |
| `get_workflow` | 按名称获取工作流JSON |
| `save_workflow` | 将工作流保存到磁盘 |
| `execute_workflow` | 提交工作流执行,返回作业ID |
| `get_job_status` | 轮询作业状态(队列中、运行中、已完成、错误) |
| `get_job_result` | 检索输出文件(图像、视频、音频) |
| `cancel_job` | 取消队列或正在运行的作业 |
</details>
<details>
<summary><strong>生成</strong> — 4种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `generate_image` | 文本到图像,带有提示、模型、大小、步骤、CFG、种子 |
| `transform_image` | 图像到图像,带有源、提示、去噪强度 |
| `generate_video` | 视频生成(委托给工作流) |
| `generate_audio` | 音频生成(委托给工作流) |
</details>
<details>
<summary><strong>模型</strong> — 5种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `download_model` | 通过舒适UI管理器下载 |
| `delete_model` | 两步安全删除,预览大小 |
| `delete_model_confirm` | 执行确认删除 |
| `get_model_info` | 大小、部分SHA-256、修改日期 |
| `unload_models` | 释放VRAM/RAM |
</details>
<details>
<summary><strong>软件包</strong> — 7种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `search_packages` | 搜索舒适UI注册表 |
| `install_package` | 安装自定义节点 |
| `update_package` | 更新自定义节点 |
| `uninstall_package` | 删除自定义节点 |
| `list_installed` | 已安装的节点及其版本 |
| `check_updates` | 可用的更新 |
| `resolve_conflicts` | 依赖冲突检测和建议 |
</details>
<details>
<summary><strong>解析器和CivitAI</strong> — 5种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `resolve_workflow` | 全管道:缺失节点 → 安装,缺失模型 → 查找,损坏依赖 → 修复 |
| `search_civitai` | 搜索CivitAI并设置类型筛选和安全控制 |
| `download_civitai` | 下载并实时跟踪进度 |
| `find_missing_models` | 哈希查找(精确)→ 名称搜索(模糊)→ 交互式候选 |
| `fix_dependencies` | 三层:自动修复 → 诊断根原因 → 提出解决方案 |
</details>
<details>
<summary><strong>智能布局</strong> — 4种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `smart_layout` | 基于规则的L→R流程布局,自动着色和命名分组 |
| `colorize_nodes` | 按类别、连接分支或自定义节点映射着色 |
| `auto_group` | 检测逻辑部分并创建命名组(按类别或分支) |
| `add_frame` | 添加视觉注释框架,带有标题、位置、大小、颜色 |
</details>
<details>
<summary><strong>工作流操作</strong> — 5种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `optimize_workflow` | 检测和合并重复的模型加载器 |
| `templatize_workflow` | 提取提示和种子到 `{{variables}}`,分别保存模板和输入 |
| `apply_template` | 加载模板并注入输入值,可选覆盖 |
| `list_templates` | 浏览保存的模板及其变量名称 |
| `workflow_git` | 完整的git版本控制:init、commit、log、diff、restore、remote、push、pull |
</details>
<details>
<summary><strong>组合/批量</strong> — 4种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `get_overview` | 单个调用获取实例状态(系统、模型、节点、画布) |
| `build_workflow` | 创建节点 + 连接 + 布局,单个调用 |
| `batch_update_nodes` | 同时更新多个节点(小部件、位置、颜色、折叠) |
| `setup_and_execute` | 模板 → 解析 → 加载 → 执行,单个调用 |
</details>
<details>
<summary><strong>UI桥接</strong> — 21种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `get_current_workflow` | 序列化画布图 |
| `get_selected_nodes` | 所选节点,类型、位置、小部件 |
| `get_node_widgets` | 节点的所有小部件名称和当前值 |
| `capture_canvas` | base64 PNG截图 — 多模态代理 |
| `load_workflow_to_canvas` | 用工作流JSON替换画布 |
| `clear_canvas` | 清空画布 |
| `add_node` | 放置节点,位置和小部件值 |
| `remove_node` | 删除节点 |
| `connect_nodes` | 连接源输出 → 目标输入 |
| `update_node` | 更改小部件、标题或颜色 |
| `move_node` | 定位节点到精确坐标 |
| `resize_node` | 设置尺寸或自动适应内容 |
| `collapse_node` | 切换折叠/展开状态 |
| `arrange_nodes` | 自动布局所有节点 |
| `align_nodes` | 水平或垂直对齐节点,可配置间距 |
| `group_nodes` | 视觉分组 |
| `fit_view` | 重置画布缩放以显示所有节点 |
| `refresh_ui` | 刷新界面(软:重绘 + 重新加载下拉菜单,硬:完整页面重载) |
| `execute_current` | 队列工作流 — 返回 `job_id` 和验证错误 |
| `get_execution_preview` | 节点预览为base64 PNG |
| `notify_ui` | 舒适UI中的toast通知 |
</details>
<details>
<summary><strong>调试</strong> — 2种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `get_last_error` | 最后一个验证/执行错误,节点级细节 |
| `get_logs` | 最近的服务器日志行,按级别过滤(`error`、`warning`、`info`) |
</details>
<details>
<summary><strong>实例</strong> — 5种工具</summary>
| 工具 | 描述 |
|------|-------------|
| `list_instances` | 所有已注册的实例 |
| `register_instance` | 按名称、主机、端口添加LAN实例 |
| `remove_instance` | 删除实例 |
| `health_check` | 连接性、GPU名称、空VRAM |
| `set_default_instance` | 默认路由命令到特定实例 |
</details>
---
## 架构
```
┌──────────────────────────────────────┐
│ 舒适UI桌面版 │
│ │
│ ┌──────────────────────────────┐ │
│ │ MCP中心面板(JS) │ │
│ │ + 桥接(WebSocket + API) │ │
│ └─────────────▼────────────────┐ │
| │ REST / WS │
│ ┌─────────────▼────────────────┐ │
│ │ 后端(Python) │ │
│ │ 路由、UI 桥接、 │ │
│ │ 活动日志、进程管理器 │ │
│ └─────────────▼────────────────┘ │
└─────────────────┼────────────────────┘
│ 子进程(stdio)
┌─────────────────▼────────────────────┐
│ MCP 服务器(独立进程) │
│ 79 种工具 · 4 种资源 │
│ 自动检测管理器 v1/v2 API │
└────────┬────────────────┬────────────┘
│ │
┌────▼─────┐ ┌─────▼────┐
│ 舒适UI │ │ 舒适UI │
│ (本地) │ │ (局域网) │
└──────────┘ └──────────┘
```
## 配置
MCP中心在第一次运行(git-ignored — 包含您的令牌)时生成 `mcp_server/hub_config.json`:
```json
{
"comfyui_url": "http://127.0.0.1:8188",
"autostart": true,
"civitai_token": "",
"huggingface_token": "",
"safety_filter": "soft",
"auto_resolve_on_execute": true,
"enabled_tools": {
"introspection": true,
"workflows": true,
"generation": true,
"models": true,
"packages": true,
"instances": true
},
"instances": [
{ "name": "local", "host": "127.0.0.1", "port": 8188, "default": true }
]
}
```
配置在每次启动时与舒适UI的实际地址和端口自动同步。无需手动编辑。
### 内容安全过滤
CivitAI 结果尊重您的偏好:
| 等级 | 可见内容 |
|-------|----------------|
| `none` | 仅 SFW |
| `soft` | SFW + 软性(隐藏 成熟、X) |
| `mature` | SFW + 软性 + 成熟(隐藏 X) |
| `x` | 所有内容 |
通过 **设置** 标签页或直接在 `hub_config.json` 中设置。
---
## 舒适UI桌面版兼容性
MCP中心专为舒适UI桌面版设计,并处理其与独立舒适UI的不同之处:
| 功能 | 处理方式 |
|---------|-----------------|
| 管理器V2 API | 自动检测 `/v2/` 路由,缓存每个实例 |
| 端口检测 | 读取 `PromptServer.instance.port` 启动时,同步配置 |
| 侧边栏UI | 通过 `extensionManager.registerSidebarTab` 注册,具有经典菜单备用方案 |
| 关闭 | `atexit` + `SIGTERM` 处理器确保MCP进程被清理 |
| 空响应 | HTTP客户端优雅地处理带有空正文的 `200` |
MCP中心还适用于使用旧管理器路由和经典 `.comfy-menu` 的独立舒适UI。
---
## 要求
| 要求 | 版本 |
|------------|---------|
| 舒适UI | 桌面版或独立版 |
| Python | 3.10+ |
| Git | 用于安装 |
Python依赖项(`mcp`、`aiohttp`、`websockets`)在首次启动时**自动安装**。
---
## 更新日志
### v0.3.0
- **智能布局引擎** — 基于规则的L→R流程定位,上下文感知分支着色,自动分组检测,注释框架
- **工作流优化器** — 检测并合并重复的模型加载器,自动连接重新布线
- **模板系统** — 提取提示/种子到 `{{variables}}`,将创意内容与可共享的工作流结构分开
- **Git版本控制** — init, commit, diff, log, restore, remote push/pull 用于工作流目录
- **组合工具** — `get_overview`, `build_workflow`, `batch_update_nodes`, `setup_and_execute` 以减少交互次数有限的客户端(如Gemini)的往返次数
- **分页** — `list_nodes` 现已分页(limit/offset)以避免上下文溢出
- **79种MCP工具**
### v0.2.0
- **CivitAI和HuggingFace集成** — 搜索模型,下载时跟踪进度,内容安全过滤,基于哈希的精确匹配
- **解析器管道** — `resolve_workflow` 自动检测并修复缺失的节点、模型和Python依赖冲突(三层:自动 → 诊断 → 建议)
- **活动日志** — 实时跟踪所有代理操作,带有toast通知和下载进度条在UI中
- **UI桥接** — 双向画布控制:读取/写入图表,添加/删除/连接节点,捕获截图,执行工作流,获取预览
- **布局工具** — `move_node`, `resize_node`, `collapse_node`, `align_nodes`, `fit_view`, `refresh_ui`
- **调试工具** — `get_last_error` (验证+执行错误,带有节点细节),`get_logs` (分组回溯,stderr捕获)
- **`execute_current` 修复** — 使用 `app.queuePrompt()` 支持完整的扩展钩子(cg-use-everywhere,rgthree GetNode/SetNode)
- **舒适UI桌面版兼容性** — 管理器V2自动检测( `/v2/` 路由),空响应处理,配置自动同步
- **`list_models` 扩展** — 支持任意模型目录(`ultralytics/bbox`,`text_encoders`,`LLM`等)通过文件系统回退
- **`list_model_types`** — 发现所有模型目录并计算文件数量
- **设置标签页** — CivitAI/HuggingFace令牌,内容安全过滤器,自动解析切换
- **自动启动** — MCP服务器随舒适UI启动,退出时干净关闭
### v0.1.0
- 初始版本:32种工具,涵盖6个领域
- 自省、工作流、生成、模型、软件包、实例
- 侧边栏面板,包含服务器、工具、AI客户端、实例选项卡
- 自动检测和配置10个AI CLI
- 启动时自动安装依赖项
---
## 贡献
欢迎在 [github.com/ArboRithmDev/comfyui-arbo-mcp-hub](https://github.com/ArboRithmDev/comfyui-arbo-mcp-hub) 提交问题和拉取请求。
## 许可
[MIT](LICENSE)
---
<p align="center">
<sub>使用 <a href="https://claude.com/claude-code">Claude Code</a> 构建</sub>
</p>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器