项目简介
fm-mcp-comfyui-bridge 是一个基于 Model Context Protocol (MCP) 的服务器实现,它充当 ComfyUI 图像生成工具的桥梁。通过此 MCP 服务器,LLM 客户端可以调用 ComfyUI 的强大图像生成能力,并获取生成图像的描述和标签等信息。
主要功能点
- 图像生成: 通过 'generate_picture' 工具,根据文本提示词生成图像。
- 图像获取: 通过 'get_picture' 工具,获取已生成图像的 PNG 格式二进制数据。
- 图像描述 (Caption): 通过 'get_caption' 工具,利用 Ollama vision 模型为生成的图像生成文本描述。
- 图像标签 (Tag): 通过 'get_tag' 工具,分析生成图像并提取 WD1.4 标签。
- 服务器信息查询: 通过 'info://about' 资源,获取服务器的基本信息。
- 工具帮助: 通过 'help://tools' 资源,获取可用工具的简要帮助信息。
- 工具文档: 通过 'docs://{topic}' 资源,获取指定工具的详细文档。
- 自定义 Workflow: 支持 ComfyUI 自定义工作流,满足更高级的图像生成需求。
安装步骤
- 环境准备: 确保已安装 Python 3.13+ 和 uv 包管理器。同时需要本地运行 ComfyUI 和 ollama (用于图像描述功能)。
- 克隆仓库: 使用 'git clone https://github.com/rerofumi/fm-mcp-comfyui-bridge.git' 命令克隆仓库到本地。
- 进入目录: 使用 'cd fm-mcp-comfyui-bridge' 命令进入仓库目录。
- 安装依赖: 使用 'uv pip install -e .' 命令安装项目依赖。
- 检查 ComfyUI Workflow: 验证 'src\fm_mcp_comfyui_bridge\config\workflow' 目录下 JSON 工作流文件在 ComfyUI 中加载时没有节点错误。如有缺失自定义节点,请手动安装。
- 配置模型: 复制 'src/fm_mcp_comfyui_bridge/config/sample_lora.yaml' 为 'src/fm_mcp_comfyui_bridge/config/config.yaml',并根据需要修改 'config.yaml' 文件中的模型配置(如 checkpoint 模型、LoRA 模型等)。
- 配置 Ollama Vision 模型: 编辑 'src/fm_mcp_comfyui_bridge/config/ollama.yaml' 文件,设置 'vision_model' 为您希望使用的 Ollama vision 模型名称 (例如 'llava')。
服务器配置
要将此 MCP 服务器配置到 MCP 客户端(如 AgentTools),您需要提供以下 JSON 配置信息。请注意,以下配置仅为示例,您需要将 '(安装したディレクトリ)/fm-mcp-comfyui-bridge' 替换为您实际安装 fm-mcp-comfyui-bridge 的目录路径。
{ "mcpServers": { "fm-mcp-comfyui-bridge": { "command": "uv", "args": [ "--directory", "(安装したディレクトリ)/fm-mcp-comfyui-bridge", // 请替换为 fm-mcp-comfyui-bridge 的安装目录 "run", "fm-mcp-comfyui-bridge" ] } } }
- server name: 'fm-mcp-comfyui-bridge' - 服务器名称,客户端用此名称标识和调用。
- command: 'uv' - 启动服务器的命令,这里使用 uv 包管理器来运行 Python 脚本。
- args: 启动参数列表。
- '--directory': 指定工作目录为 fm-mcp-comfyui-bridge 的安装目录。
- 'run': uv 的子命令,用于运行 Python 模块。
- 'fm-mcp-comfyui-bridge': 要运行的 Python 模块名称,对应 'src/fm_mcp_comfyui_bridge/main.py' 文件。
基本使用方法
配置完成后,MCP 客户端可以通过以下工具与此 MCP 服务器交互:
- generate_picture: 发送文本提示词(prompt)以生成图像。例如,发送 "1girl, cute cat ear maid" 的提示词,服务器将返回生成图像的 URL。请确保使用英文提示词。
- get_caption: 获取指定图像的文本描述。需要提供图像的 'subfolder' 和 'filename' 参数,这些参数通常包含在 'generate_picture' 工具返回的图像 URL 中。
- get_tag: 获取指定图像的 WD1.4 标签。同样需要提供图像的 'subfolder' 和 'filename' 参数。
您可以使用 MCP 客户端发送 JSON-RPC 请求来调用这些工具和资源。例如,调用 'generate_picture' 工具的请求可能如下所示:
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "generate_picture", "arguments": { "prompt": "masterpiece, best quality, 1girl, cute cat ear maid" } }, "id": "1" }
服务器会返回包含图像 URL 的 JSON-RPC 响应。您可以根据需要使用 'get_caption' 和 'get_tag' 工具进一步分析生成的图像。
信息
分类
AI与计算