项目简介

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 自定义工作流,满足更高级的图像生成需求。

安装步骤

  1. 环境准备: 确保已安装 Python 3.13+ 和 uv 包管理器。同时需要本地运行 ComfyUI 和 ollama (用于图像描述功能)。
  2. 克隆仓库: 使用 'git clone https://github.com/rerofumi/fm-mcp-comfyui-bridge.git' 命令克隆仓库到本地。
  3. 进入目录: 使用 'cd fm-mcp-comfyui-bridge' 命令进入仓库目录。
  4. 安装依赖: 使用 'uv pip install -e .' 命令安装项目依赖。
  5. 检查 ComfyUI Workflow: 验证 'src\fm_mcp_comfyui_bridge\config\workflow' 目录下 JSON 工作流文件在 ComfyUI 中加载时没有节点错误。如有缺失自定义节点,请手动安装。
  6. 配置模型: 复制 'src/fm_mcp_comfyui_bridge/config/sample_lora.yaml' 为 'src/fm_mcp_comfyui_bridge/config/config.yaml',并根据需要修改 'config.yaml' 文件中的模型配置(如 checkpoint 模型、LoRA 模型等)。
  7. 配置 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 服务器交互:

  1. generate_picture: 发送文本提示词(prompt)以生成图像。例如,发送 "1girl, cute cat ear maid" 的提示词,服务器将返回生成图像的 URL。请确保使用英文提示词。
  2. get_caption: 获取指定图像的文本描述。需要提供图像的 'subfolder' 和 'filename' 参数,这些参数通常包含在 'generate_picture' 工具返回的图像 URL 中。
  3. 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与计算