使用说明
🎨 Pixelle MCP - Omnimodal Agent Framework
English | 中文
✨ An AIGC solution based on the MCP protocol, supporting both local ComfyUI and cloud ComfyUI (RunningHub) modes, seamlessly converting workflows into MCP tools with zero code.
https://github.com/user-attachments/assets/65422cef-96f9-44fe-a82b-6a124674c417
📋 最新动态
- ✅ 2025-09-29:添加了RunningHub云ComfyUI支持,无需本地GPU和ComfyUI环境即可执行工作流
- ✅ 2025-09-03从三服务到统一应用的架构重构;添加了CLI工具支持;发布到 PyPI
- ✅ 2025-08-12:集成LiteLLM框架,为Gemini、DeepSeek、Claude、Qwen等添加多模型支持
🚀 特性
- ✅ 🔄 全模式支持:支持TISV(文本、图像、声音/语音、视频)全模态转换和生成
- ✅ 🚀 双重执行模式:本地ComfyUI自托管环境+RunningHub云ComfyUI服务,用户可以根据需要灵活选择
- ✅ 🧩 ComfyUI生态系统:基于 Comfy用户界面,继承了开放式ComfyUI生态系统的所有功能
- ✅ 🔧 零代码开发:定义并实施工作流作为MCP工具解决方案,实现零代码开发和动态添加新的MCP工具
- ✅ 🗄️ MCP服务器:基于 主控程序 协议,支持与任何MCP客户端(包括但不限于Cursor、Claude Desktop等)集成
- ✅ 🌐 web界面:基于 Chainlit 框架,继承Chainlit的UI控件,支持与更多MCP服务器集成
- ✅ 📦 一键部署:支持PyPI安装、CLI命令、Docker和其他部署方法,即用即用
- ✅ ⚙️ 简化配置:采用环境变量配置方案,配置简单直观
- ✅ 🤖 多LLM支持:支持多种主流LLM,包括OpenAI、Ollama、Gemini、DeepSeek、Claude、Qwen等
📁 项目架构
Pixelle MCP采用 统一架构设计,将MCP服务器、web界面和文件服务集成到一个应用程序中,提供:
- 🌐 web界面:基于Chainlit的聊天界面,支持多模式交互
- 🔌 MCP端点:用于连接外部MCP客户端(如Cursor、Claude Desktop)
- 📁 文件服务:处理文件上传、下载和存储
- 🛠️ 工作流引擎:支持本地ComfyUI和云ComfyUI(RunningHub)工作流,自动将工作流转换为MCP工具
🏃♂️ 快速开始
从简单到复杂,选择最适合您需求的部署方法:
🎯 方法一:一键体验
💡 零配置启动,非常适合快速体验和测试
🚀 临时运行
# First you need to install the uv environment
# Start with one command, no system installation required
uvx pixelle@latest
📦 持续安装
# Here you need to install it in the python3.11 environment
# Install to system
pip install -U pixelle
# Start service
pixelle
启动后,它将自动进入 配置向导 指导您完成执行引擎选择(ComfyUI/RunningHub)和LLM配置。
🛠️ 方法2:本地开发部署
💡 支持自定义工作流和二次开发
📥 1.获取源代码
git clone https://github.com/AIDC-AI/Pixelle-MCP.git
cd Pixelle-MCP
🚀 2.启动服务
# Interactive mode (recommended)
uv run pixelle
🔧 3.添加自定义工作流(可选)
# Copy example workflows to data directory (run this in your desired project directory)
cp -r workflows/* ./data/custom_workflows/
⚠️ 重要:请确保首先在ComfyUI中测试工作流,以确保它们正常运行,否则执行将失败。
🐳 方法3:Docker部署
💡 适用于生产环境和容器化部署
📋 1.准备配置
git clone https://github.com/AIDC-AI/Pixelle-MCP.git
cd Pixelle-MCP
# Create environment configuration file
cp .env.example .env
# Edit .env file to configure your ComfyUI address and LLM settings
🚀 2.启动容器
# Start all services in background
docker compose up -d
# View logs
docker compose logs -f
🌐 访问服务
无论您使用哪种方法,启动后您都可以通过以下方式访问:
- 🌐 web界面: http://localhost:9004
默认用户名和密码都是dev,可以在启动后进行修改 - 🔌 MCP端点: http://localhost:9004/pixelle/mcp
用于连接Cursor、Claude Desktop等MCP客户端
💡 端口配置:默认端口为9004,可通过环境变量自定义 PORT=your_port.
⚙️ 初始配置
首次启动时,系统将自动检测配置状态:
- 🚀 执行引擎选择:在本地ComfyUI或RunningHub云服务之间进行选择
- 🤖 LLM配置:配置至少一个LLM提供程序(OpenAI、Ollama等)
- 📁 工作流目录:系统将自动创建必要的目录结构
🌐 RunningHub云模式优势
- ✅ 零硬件要求:无需本地GPU或高性能硬件
- ✅ 无环境设置:无需在本地安装和配置ComfyUI
- ✅ 准备使用:注册并获取API密钥以立即启动
- ✅ 稳定性能:专业的云基础设施确保稳定的执行
- ✅ 自动缩放:自动处理并发请求和资源分配
🏠 本地ComfyUI模式优势
- ✅ 完全控制:完全控制执行环境和模型版本
- ✅ 隐私保护:所有数据处理都在本地进行,确保数据隐私
- ✅ 定制型号:支持云中不可用的自定义模型和节点
- ✅ 无网络依赖性:可以在没有互联网连接的情况下脱机工作
- ✅ 成本控制:高频使用不收取云服务费
🆘 需要帮助? 加入社区团体以获得支持(请参阅下面的社区部分)
🛠️ 添加您自己的MCP工具
⚡ 一个工作流=一个MCP工具,支持两种添加方法:
📋 方法1:本地ComfyUI工作流 -导出API格式的工作流文件 📋 方法2:RunningHub工作流ID -直接使用云工作流ID
🎯 1.添加最简单的MCP工具
-
📝 在ComfyUI中构建图像高斯模糊的工作流程(拿过来),然后设置
LoadImage节点的标题$image.image!如下图所示: -
📤 将其导出为API格式文件,并将其重命名为
i_blur.json。您可以自己导出或使用我们的预导出版本(拿过来) -
📋 复制导出的API工作流文件(必须为API格式),在网页上输入,并让LLM添加此工具
-
✨ 发送后,LLM将自动将此工作流转换为MCP工具
-
🎨 现在,刷新页面并发送任何图像以通过LLM执行高斯模糊处理
🔌 2.添加一个复杂的MCP工具
步骤与上述相同,只是工作流部分不同(下载工作流: UI格式 和 API格式)
注: 使用RunningHub时,您只需输入相应的工作流ID,无需下载和上传工作流文件。
🔧 ComfyUI工作流自定义规范
🎨 工作流格式
系统支持ComfyUI工作流。只需在画布中设计工作流并将其导出为API格式。在节点标题中使用特殊语法来定义参数和输出。
📝 参数定义规范
在ComfyUI画布中,双击要编辑的节点标题,并使用以下DSL语法定义参数:
$<param_name>.[~]<field_name>[!][:<description>]
🔍 语法说明:
param_name:生成的MCP工具函数的参数名称~:可选,表示URL参数上传处理,返回相对路径field_name:节点中的相应输入字段!:表示此参数是必需的description:参数说明
💡 例子:
必填参数示例:
- 将LoadImage节点标题设置为:
$image.image!:Input image URL - 含义:创建一个名为的必需参数
image,映射到节点的image领域
URL上传处理示例:
- 将任何节点标题设置为:
$image.~image!:Input image URL - 含义:创建一个名为的必需参数
image,系统会自动下载URL并上传到ComfyUI,返回相对路径
📝 注:
LoadImage,VHS_LoadAudioUpload,VHS_LoadVideo其他节点具有内置功能,无需添加~标记
🎯 类型推断规则
系统根据节点字段的当前值自动推断参数类型:
- 🔢
int:整数值(例如512、1024) - 📊
float:浮点值(例如1.5、3.14) - ✅
bool:布尔值(例如true、false) - 📝
str:字符串值(默认类型)
📤 输出定义规范
🤖 方法1:自动检测输出节点
系统将自动检测以下常见输出节点:
- 🖼️
SaveImage-图像保存节点 - 🎬
SaveVideo-视频保存节点 - 🔊
SaveAudio-音频保存节点 - 📹
VHS_SaveVideo-VHS视频保存节点 - 🎵
VHS_SaveAudio-VHS音频保存节点
🎯 方法2:手动输出标记
通常用于多个输出 使用
$output.var_name在任何节点标题中标记输出:
- 将节点标题设置为:
$output.result - 系统将使用此节点的输出作为工具的返回值
📄 工具描述配置(可选)
您可以添加一个名为的节点 MCP 在工作流中提供工具描述:
- 添加a
String (Multiline)或类似的文本节点(必须具有单个字符串属性,节点字段应为:value、text、string之一) - 将节点标题设置为:
MCP - 在值字段中输入详细的工具描述
⚠️ 重要说明
- 🔒 参数验证:可选参数(不带!)必须在节点中设置默认值
- 🔗 节点连接:已连接到其他节点的字段将不会被解析为参数
- 🏷️ 工具命名:导出的文件名将用作工具名称,使用有意义的英文名称
- 📋 详细描述:提供详细的参数描述,以获得更好的用户体验
- 🎯 导出格式:必须导出为API格式,不导出为UI格式
💬 社区
扫描下面的二维码加入我们的社区,获取最新更新和技术支持:
| Discord社区 | 微信群 |
|---|---|
🤝 如何做出贡献
我们欢迎各种形式的贡献!无论您是开发人员、设计师还是用户,您都可以通过以下方式参与项目:
🐛 报告问题
- 📋 提交错误报告 问题 页
- 🔍 请在提交前搜索类似问题
- 📝 详细描述复制步骤和环境
💡 功能建议
- 🚀 在中提交功能请求 问题
- 💭 描述您想要的功能及其用例
- 🎯 解释它如何改善用户体验
🔧 代码贡献
📋 贡献过程
- 🍴 将此仓库分叉到您的GitHub帐户
- 🌿 创建要素分支:
git checkout -b feature/your-feature-name - 💻 开发并添加相应的测试
- 📝 提交更改:
git commit -m "feat: add your feature" - 📤 推送到您的仓库:
git push origin feature/your-feature-name - 🔄 向主仓库创建Pull请求
🎨 代码的风格
- 🐍 Python代码如下 PEP 8 风格指南
- 📖 为新功能添加适当的文档和注释
🧩 贡献工作流
- 📦 与社区共享您的ComfyUI工作流程
- 🛠️ 提交经过测试的工作流文件
- 📚 添加工作流的使用说明和示例
🙏 致谢
❤️ 衷心感谢以下组织、项目和团队支持本项目的开发和实施。
许可证
该项目在MIT许可证下发布(许可证SPDX 许可证标识符:MIT)。